更新 自从最初发布以来,我发现使用 Google's cwebp 压缩器显示出比 ImageMagik 6.7.8 显着改进的压缩,这是我最初测试的动力。与 PNG 相比,对于具有透明度的图像尤其如此。使用webp 命令的mac 版本(在后台使用cwebp)的文件大约是使用ImageMagik 压缩的相同文件大小的1/4,并且确实提供了显着的性能提升。
根据 Google 的说法,“WebP 的压缩率通常比 JPG 平均多 30%”(source) 具有与 JPG 相似的视觉质量。但是,正如您所建议的那样,从来没有免费的午餐。
质量
质量在很大程度上是一种主观衡量标准,但请记住,您是以质量 80 压缩的文件与没有该压缩级别的文件进行比较(至少,这是我从您的问题中了解到的)。仅在不指定较低质量的情况下运行默认转换可能会为您提供稍小的文件,而不会损失可见质量。不过,缩小 20% 可能有点过分,但对于某些图像来说可能是可以实现的。
convert 1.JPG 1.webp # do not specify quality
尺寸
实际上,这在很大程度上取决于您的设置和源图像。例如,我最近在“in the wild”网站的一个文件夹中的所有 jpg 图像上运行了这个命令:
convert filename.jpg -quality 80 -strip -define webp:lossless=false -define webp:method=6 filename.webp
此特定服务器上的convert 命令由 ImageMagick 6.7.8 提供支持。与原始 JPG 相比,有些文件要小得多,而有些文件实际上要大得多。总体而言,运行该命令后,所有 JPG 图像的总文件大小为 49MB,而所有 WebP 图像的总文件大小为 29MB。这是一个很好的节省,但是,当我运行 ImageMagick 的 JPG 压缩时,它甚至更好:
convert filename.jpg -sampling-factor 4:2:0 -strip -quality 80 -interlace JPEG filename-new.jpg;
目录中所有新 jpg 的大小为 21MB。两者都设置为以质量 80 压缩,但 jpg 压缩似乎更好。这可能与我的一组测试图像已经进行了一些压缩以及它与 WebP 转换过程的交互方式有关。
我发现,文件大小甚至会增长,通常是在有损图像和无损图像之间转换时。在上面链接的常见问题页面上,谷歌声称:“这主要是由于色彩空间差异(YUV420 与 ARGB)以及它们之间的转换。”
tl;dr: 在野外,它可能会也可能不会改善文件大小,具体取决于图像类型、源文件是否/如何压缩以及您为 WebP 设置的质量.可见的退化更难衡量,但请尝试设置更高的质量,或者根本不指定质量。