【问题标题】:Saving an image file after adding a text添加文本后保存图像文件
【发布时间】:2013-06-05 23:51:40
【问题描述】:

我编写了一段代码来打开一个图像文件 (JPEG),向其中添加一些文本并将其保存到另一个文件中。

看起来像这样:

Image sourceImage = Image.FromFile(fileName);
Graphics grp = Graphics.FromImage(sourceImage);
grp.DrawString(...);
Bitmap bmp = new Bitmap(sourceImage);
bmp.Save(newFileName, ImageFormat.Jpeg);

这很好用,文件已成功保存并添加了文本。

但是,原始文件大约 1.5MB,而新文件只有大约 480KB。当我查看每个文件的细节时,我可以看到尺寸相似,但原始文件的分辨率为 180 dpi,新文件的分辨率为 96。原始图像还具有颜色表示(sRGB)和压缩位/像素(4 ),而新图像不包含这些细节。

这些可能是文件大小不同的原因吗?

谁能想出一种方法,我可以用确切的大小保存新文件,而不是更紧凑的文件?

非常感谢,

埃拉德

【问题讨论】:

  • 我认为原始图像不是 JPEG 文件。您可以尝试用记事本打开它,看看整个文本内容的开头是否有一些字符串 JPEG。我猜是 BMP。

标签: c# image gdi+


【解决方案1】:

您可以在保存图像时设置 JPEG 压缩级别。见Quality of a saved JPG in C#

但是,seems to be impossible 可以查明保存 JPEG 的质量设置,所以我认为您不能以与输入 JPEG 相同的压缩级别保存自己的 JPEG。

【讨论】:

  • 谢谢克里斯,我去看看。
猜你喜欢
  • 2012-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多