C# 调整图片大小的基础知识或图片大小发生了什么变化?
我正在编写一个程序,用于调整图片大小,如下所示:C# 调整图片大小的基础知识或图片大小发生了什么变化?,c#,.net-3.5,image-processing,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(pathTo
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;
结果是,重新压缩的图片文件变为~900K,而原始文件变为~4M
为什么会这样?
原始图片的质量比调整大小的图片好吗?怎么做
我在Photoshop中打开了这两张图片,我看到原来的图片是72ppi,而调整大小的图片变成了96ppi。为什么呢?我能控制这个吗
非常感谢您抽出时间 除了设置DPI、压缩级别设置等所需的格式之外,请检查保存功能中是否存在接受此类输入的重载。请参阅。您没有告诉我们您的图片的原始格式,而是将其保存为JPEG格式: b、 保存(pathToOutputPicture,ImageFormat.Jpeg) JPEG是一种有损压缩格式 除了有损外,JPEG还可以输出不同质量的图像(可配置) 这就是你的文件大小的变化:它正在缩小,因为你从无损格式变成有损JPEG,或者因为你从JPEG变成了质量较低的JPEG
因此减小了尺寸。我查看了此文档。我必须承认,看起来很复杂。很多细节。。。您能推荐一种简单的方法将JPG文件调整到指定的大小(以像素为单位的宽度和高度),以便输出的图片具有最佳质量吗?谢谢实际上,我从一个JPG转到另一个JPG,但我不知道我在Save函数中使用的质量。默认值是什么?我仍然不明白我的示例中的输出图片是否比原始图片更差。我想,是的,因为文件大小变得非常小,但我不明白为什么会更糟。谢谢你抽出时间!