嗨,伙计们,我正在用 C# 调整图像的大小并将它们保存为 .png。
public static Bitmap resize(int x, int y, Image p)
{
Bitmap Img = new Bitmap(x,y);
using (Graphics gr = Graphics.FromImage(Img))
{
gr.SmoothingMode = SmoothingMode.HighQuality;
gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
gr.DrawImage(p, new Rectangle(0, 0, x, y));
}
return Img;
}
问题是,当用户上传高质量图像时,例如来自高端智能手机(如 Galaxy、iphone 等)的图像,生成的调整大小图像的文件大小非常高。我已经构建了一个调整大小的图像文件大小和像素大小的表。
1) Img1 1280 * 666px => 458 kb
2) Img1 300 * 399px => 221kb
3) Img2 1280 * 1444px => 2.08mb
4) Img2 300 * 451px => 327kb
我知道我已将插值和平滑设置为高质量,例如将图像保存为 .png 以保持透明度。但是我应该更改什么设置才能获得适合 HTML 页面的合理质量和文件大小的图像。我的最终目标是在图像质量和文件大小之间做出妥协。因此,请指向一些链接,展示 Filsesize 与质量比较调整大小图像的质量,以便我自己做出选择。