1

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

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

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

非常感谢,

埃拉德

4

1 回答 1

0

您可以在保存图像时设置 JPEG 压缩级别。请参阅C# 中保存的 JPG 的质量

但是,似乎不可能找出保存 JPEG 的质量设置,因此我认为您不能以与输入 JPEG 相同的压缩级别保存自己的 JPEG。

于 2013-06-06T00:43:40.493 回答