将文本添加到图像文件

时间:2009-04-02 12:00:08

标签: c#

我需要在图像文件中添加文字。我需要读取一个图像文件(jpg,png,gif),我需要添加一行文字。

2 个答案:

答案 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()或其他相关方法。