我想将文本文件的内容转换为使用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);
由于试图保存到C:的根目录,您可能会遇到该错误。尝试将Save()方法中的文件路径更改为类似于C:\ Temp \ .bmp的文件路径。这与权限/ UAC不允许你直接写入根目录 –
2015-03-02 16:00:12
我试过了,但我仍然得到相同的通用错误...我也尝试保存到项目的当前目录 - 同样的事情。我认为这里的位置不是原因。 – lapadets 2015-03-02 16:02:19
我刚刚测试了你的代码。写入C:\抛出通用错误,写入C:\ Temp \成功。您的代码按原样运行。 – 2015-03-02 16:03:57