我尝试过使用 imagemagick 和 GIMP 将 PNG 转换为 WEBP,但转换后文本颜色往往会褪色。
有什么办法让WEBP保持颜色浓烈吗?
对于较低分辨率的图像和完全饱和的原色,问题最为明显。
是的!我们可以通过 imagemagick 将许多选项传递给 WEBP 编码器。
经过一些实验,我发现
use-sharp-yuv
选项可以保持较高的色彩饱和度,正如我所期望的那样。
$ convert input.png -quality 95% -define webp:use-sharp-yuv=true output.webp
使用此选项对于较低质量的转化具有类似的效果。
但就我的目的而言,我发现启用此选项会产生更接近原始结果的结果。
原始图像(22.9K PNG):
标准转换为WEBP(18.1K,尤其可以看到青色、深蓝色和洋红色文本已经褪色):
启用选项后转换为 WEBP(21.3K,但颜色更好):