我想將文本文件的內容轉換爲使用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