【发布时间】: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。