【发布时间】:2013-12-05 15:57:29
【问题描述】:
我想在 C# 中为网站批量调整数千张 jpg 图像的大小。
对于高质量的调整大小,我在其他问题中找到了答案。
但我希望结果文件大小尽可能小而不会显着降低质量。
EncoderParameter qualityParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
如何确定或计算位图类中jpg的最佳质量值?
============
编辑 1:
也许像 smush.it、pngout、pngcrush 等软件就是例子。我想知道他们如何定义最佳质量。
============
编辑 2:
像 Oli 和 haraldK:可能我更清楚的问题是:
如何根据标准差定义质量值?
例如,如果一个颜色是从 0 到 255,我的阈值偏差是 25。
【问题讨论】:
-
定义“最佳质量”。
-
这肯定是设计/开发人员甚至商业选择吗?您需要确定什么质量水平是正确的,然后坚持您的决定。您将面临的问题是每种图形类型通常在某些类型的图形上表现更好(.gif 不像 ping 那样做渐变,而 .jpg 不支持透明度)
-
@Oli,我的问题是,如何定义最佳质量。因为每个图像都有不同的质量值以获得最佳的图像质量。
-
@Dave,我见过很多图像优化软件来获得尽可能小的图像和可接受的质量。我想知道用什么样的算法来定义最佳质量。
-
在什么方面最优化?如果您想要最小化失真,那么您需要最大化质量,反之亦然。