c# - 如何在运行时从文本动态生成图像

标签 c# image text drawing

任何人都可以指导如何从输入文本生成图像。图片可能有任何扩展名都没有关系。

最佳答案

好的,假设您想在 C# 中的图像上绘制字符串,您将需要在此处使用 System.Drawing 命名空间:

private Image DrawText(String text, Font font, Color textColor, Color backColor)
{
    //first, create a dummy bitmap just to get a graphics object
    Image img = new Bitmap(1, 1);
    Graphics drawing = Graphics.FromImage(img);

    //measure the string to see how big the image needs to be
    SizeF textSize = drawing.MeasureString(text, font);

    //free up the dummy image and old graphics object
    img.Dispose();
    drawing.Dispose();

    //create a new image of the right size
    img = new Bitmap((int) textSize.Width, (int)textSize.Height);

    drawing = Graphics.FromImage(img);

    //paint the background
    drawing.Clear(backColor);

    //create a brush for the text
    Brush textBrush = new SolidBrush(textColor);

    drawing.DrawString(text, font, textBrush, 0, 0);

    drawing.Save();

    textBrush.Dispose();
    drawing.Dispose();

    return img;

}

此代码将首先测量字符串,然后创建正确大小的图像。

如果要保存本函数的返回值,调用返回图像的Save方法即可。

关于c# - 如何在运行时从文本动态生成图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2070365/

相关文章:

c# - LINQ to Entities 无法识别该方法

c# - 用户以纯文本形式接收 cdo 消息

iphone - iPhone/iPad 和 iPhone(Retina)/iPad(Retina) 中图像的理想分辨率

selenium - 读取单选按钮的标签并使用 Selenium 确认该值

c# - 衡量C#中单实例生命周期的性能

c# - 在 ViewModel 中访问 DependencyPropertyValue

python - 如何使用 Opencv 和 python 从图像中识别最大的边界矩形并将它们分成单独的图像

java - 带有 base64 图像的 HTML 到 PDF 抛出 FileNotFoundException

java - JavaFX 中的样式文本?

xcode - 使用 mprotect 使文本段在 macOS 上可写