将文本转换为图像?

问题描述 投票:0回答:3

如何将文本转换为图像?图像分辨率必须非常小~30x30 到 100x100,并且只能是单色。

我尝试使用 GDI 来执行此操作,但由于别名等原因,它会生成具有多种颜色的文本。

c# wpf
3个回答
3
投票

对于图像,使用 RenderTargetBitmap.Render() 将文本块渲染为位图,如此处所述。这是一个示例,其中渲染 TextBlock“文本块”,并将结果分配给图像“图像”

var bitmap = new RenderTargetBitmap();
bitmap.Render(textblock);
image.Source = bitmap;

0
投票

试试这个。您可以在下面的代码中使用 GraphicsObject 来设置文本渲染的默认类型,即无抗锯齿。您可以使用所需的任意 RGB 组合(单个或多个)来设置颜色。我这里用的是棕色

private Bitmap CreateImageFromText(string Text)
{
       // Create the Font object for the image text drawing.
        Font textFont = new Font("Arial", 25, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel);

        Bitmap ImageObject = new Bitmap(30, 30);
        // Add the anti aliasing or color settings.
        Graphics GraphicsObject = Graphics.FromImage(ImageObject);

        // Set Background color
        GraphicsObject.Clear(Color.White);
        // to specify no aliasing
        GraphicsObject.SmoothingMode = SmoothingMode.Default;
        GraphicsObject.TextRenderingHint = TextRenderingHint.SystemDefault;
        GraphicsObject.DrawString(Text, textFont, new SolidBrush(Color.Brown), 0, 0);
        GraphicsObject.Flush();

       return (ImageObject);
  }

您可以使用您喜欢的字符串调用此函数,然后使用 Bitmap.Save 方法保存图像。请注意,您将需要使用命名空间 System.Drawing、System.Drawing.Drawing2D、System.Drawing.Text


0
投票

块引用

ዛሬ አማሻሹ የተከነወኑ ተግባራት አጠቃላይ ህዋስ፡ብዛት፡ 6 በትክክል፡በ ማጥራት ሙሉ መረጃ መስገባት ተችሎዋል**።

;;


标题

© www.soinside.com 2019 - 2024. All rights reserved.