添加文本后保存图像文件

时间:2013-06-05 23:51:41

标签: c# image gdi+

我写了一段代码来打开图像文件(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 ),而新图像不包含这些细节。

这些是造成文件大小差异的原因吗?

任何人都可以想到一种方法,我可以保存具有确切大小的新文件,而不是更紧凑的文件吗?

非常感谢,

埃拉德

1 个答案:

答案 0 :(得分:0)

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

然而,seems to be impossible找出JPEG已保存的质量设置,因此我认为您不能使用与输入JPEG相同的压缩级别保存自己的JPEG。