调整图片大小或图片大小发生了什么变化?

时间:2010-01-23 13:23:46

标签: c# .net-3.5 image-processing

我正在编写一个调整照片大小的程序:

Image originalImage = Image.FromFile(pathToOriginalPicture);

Bitmap b = new Bitmap(newWidth, newHeight);
Graphics g = Graphics.FromImage(b);

g.DrawImage(originalImage, 0, 0, newWidth, newHeight);
g.Dispose();

b.Save(pathToOutputPicture, ImageFormat.Jpeg);

我试着设置:

newWidth = originalImage.Width;
newHeight = originalImage.Height;

结果是rezised图片文件变成了〜900K,而原始文件大约是4M。

为什么会这样? 原始图片的质量是否比调整大小的图片更好?怎么样?

我在Photoshop中打开了两张图片,我看到原始图片是72ppi,而重新调整大小的图片是96ppi。这是为什么 ?我能控制一下吗?

非常感谢你的时间!

2 个答案:

答案 0 :(得分:2)

您没有告诉我们您的图片的原始格式,但您保存为JPEG格式:

b.Save(pathToOutputPicture,ImageFormat.Jpeg);

JPEG是一种有损压缩格式。

除了有损外,JPEG还可以输出不同的质量(可配置)。

这就是你的文件大小正在发生的事情:它正在缩小,因为你从无损格式转到有损JPEG格式,或者因为你从JPEG转到JPEG格式的质量较低。

因此减小了尺寸。

答案 1 :(得分:0)

除了您需要设置DPI,压缩级别设置等格式外,请检查您的保存功能是否有接受此类输入的过载。请参阅this documentation