gpt4 book ai didi

c# - 将文本文件内容保存为图像

转载 作者:太空宇宙 更新时间:2023-11-03 23:41:46 25 4
gpt4 key购买 nike

我正在尝试使用 C# 将文本文件的内容转换为图像,但我似乎做不到。我从 System.Drawing 中收到烦人的 A generic error occurred in GDI+. 错误。

这是我的实际代码:

public static Bitmap ConvertTextToImage(string txt, string fontname, int fontsize, Color bgcolor, Color fcolor, int width, int Height)
{
Bitmap bmp = new Bitmap(width, Height);
using (Graphics graphics = Graphics.FromImage(bmp))
{
Font font = new Font(fontname, fontsize);
graphics.FillRectangle(new SolidBrush(bgcolor), 0, 0, bmp.Width, bmp.Height);
graphics.DrawString(txt, font, new SolidBrush(fcolor), 0, 0);
graphics.Flush();
font.Dispose();
graphics.Dispose();
}
bmp.Save("C:\\" + Guid.NewGuid().ToString() + ".bmp");
Convert(bmp);
return bmp;
}

所以在行 bmp.Save("C:\\"+ Guid.NewGuid().ToString() + ".bmp"); 当我尝试保存图像时,它带来这个错误。我阅读了帖子和类似的问题,并按照多个来源的建议将所有内容都包裹在 using 语句中,但我仍然遗漏了一些东西并且无法弄清楚。

我使用 File.ReadAllText(path); 读取文本文件的内容,然后正常调用我的方法:

ConvertTextToImage(content, "Bookman Old Style", 10, Color.White, Color.Black, width, height);

最佳答案

因此,您正在 Dispose() 两次 Graphics 对象。一旦通过你的代码行 graphics.Dispose() ,一旦通过 using 构造自动完成。这样写的方法应该没问题:

public static Bitmap ConvertTextToImage(string txt, string fontname, int fontsize, Color bgcolor, Color fcolor, int width, int Height)
{
var bmp = new Bitmap(width, Height);

using (var graphics = Graphics.FromImage(bmp))
using (var font = new Font(fontname, fontsize))
{
graphics.FillRectangle(new SolidBrush(bgcolor), 0, 0, bmp.Width, bmp.Height);
graphics.DrawString(txt, font, new SolidBrush(fcolor), 0, 0);
}

bmp.Save("C:\\" + Guid.NewGuid() + ".bmp");
Convert(bmp);
return bmp;
}

关于c# - 将文本文件内容保存为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28813983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com