0

我有一个大的 png 图像(950x500px),我已经使用 CSS 将其缩小到 500px 宽(和 263 高)。在将此网页上线之前,我决定使用 GIMP 缩放图像,因为使用 CSS 缩放图像是不好的做法。但是,当我在 Google Chrome 中使用 GIMP 而不是 CSS 缩放图像时,即使两个图像都是 png 并且具有相同的尺寸,图像质量也会显着降低。我尝试使用 GIMP 提供的所有四种压缩方法(None、和) Linear,但没有一种与 Google Chrome 提供的图像质量相匹配。CubicSinc (Lanczos3)

谷歌浏览器使用什么压缩方法来提供如此高质量的图像缩放,我如何离线实现这一点?

4

2 回答 2

1

您可能会在这里得到问题的答案:Web 浏览器如何调整图像大小

Chrome 似乎使用了几种算法,具体取决于缩放因子:

通过非常轻微的缩小(557 到 555 像素),Chrome 使用与放大时相同的线性插值。(此图断开连接的事实是 ResampleScope 工作方式的产物,与 Chrome 无关。)

但是看看如果我们再缩小一点,到 543 像素会发生什么:[…] 我们得到一个完全不同的结果:显然是一个 3 瓣 Lanczos 过滤器。Chrome 的策略可能是在将图像缩小 2.5% 以上时使用 Lanczos。

如果您必须自己做(以更好地控制结果),Cubic通常是扩大规模和Sinc (Lanczos3)缩小规模的最佳选择。
如果您自己缩放图像,您就会知道它在所有浏览器上的外观。

注意: 越来越多的计算机配备了高分辨率显示器(大约是经典显示器像素密度的 4 倍)。您可能想检查图像在这些计算机上的外观。它们很有可能被浏览器放大。

于 2013-04-07T17:34:04.040 回答
0

这是一个非常古老的问题,但我昨天在 Gimp 中为图像调整大小而苦苦挣扎。当我将在 Gimp 中调整大小的图像与在 Chrome(和 Safari)中自动调整大小的图像进行比较时,存在明显的差异。

我正在将 PNG 徽标的大小从 89x127 调整为 69x101,无论我选择哪种插值,在 Gimp 中调整大小后文本都变得模糊。

感谢上面的评论说 ImageMagick 在调整图像大小时给出了更好的结果,我发现了这篇文章:Efficient Image Resizing With ImageMagick

文章中的命令尽管声称与 Photoshop 无法区分,但并未产生与 Chrome 匹配的结果,但是其中一位评论者添加了一个命令,该命令确实创建了产生最接近结果的图像(除非我的朋友在Photoshop):

convert SOURCE_IMAGE -resize OUTPUT_WIDTH -quality 90 -unsharp 0x0.55+0.55+0.008 OUTPUT_IMAGE

我认为诀窍主要在于锐化。我尝试了不同的设置,但无法完全匹配 Chrome,但这非常接近。

为了完整起见,这里是文章中的命令。请阅读文章以获取有关其工作原理的完整说明:

mogrify -path OUTPUT_PATH -filter Triangle -define filter:support=2 -thumbnail OUTPUT_WIDTH -unsharp 0.25x0.25+8+0.065 -dither None -posterize 136 -quality 82 -define jpeg:fancy-upsampling=off -define png:compression-filter=5 -define png:compression-level=9 -define png:compression-strategy=1 -define png:exclude-chunk=all -interlace none -colorspace sRGB -strip INPUT_PATH
于 2022-02-01T09:19:00.813 回答