我需要在图像文件中添加文字。我需要读取一个图像文件(jpg,png,gif),我需要添加一行文字。
答案 0 :(得分:20)
在GDI +中你会使用Image类读入文件,然后使用Graphics类向其中添加文本。类似的东西:
Image image = Image.FromFile(@"c:\somepic.gif"); //or .jpg, etc...
Graphics graphics = Graphics.FromImage(image);
graphics.DrawString("Hello", this.Font, Brushes.Black, 0, 0);
如果要将文件保存在旧文件上,则代码必须更改一点,因为Image.FromFile()方法会锁定文件,直到文件被丢弃为止。以下是我提出的建议:
FileStream fs = new FileStream(@"c:\somepic.gif", FileMode.Open, FileAccess.Read);
Image image = Image.FromStream(fs);
fs.Close();
Bitmap b = new Bitmap(image);
Graphics graphics = Graphics.FromImage(b);
graphics.DrawString("Hello", this.Font, Brushes.Black, 0, 0);
b.Save(@"c:\somepic.gif", image.RawFormat);
image.Dispose();
b.Dispose();
我会彻底测试这个:)
答案 1 :(得分:0)
您可以通过在C#中使用Graphics对象来完成此操作。您可以从图片中获取Graphics对象(image.CreateGraphics() - 或者我记得的类似内容),并使用一些内置方法向其添加文本,如:Graphycs.DrawString()或其他相关方法。