imagick 不会在 Amazon Linux 上转换 webp 格式


imagick not converting webp format on Amazon Linux

imagick convert 命令不适用于此 webp 映像 -
https://lh3.googleusercontent.com/VRY0O_3L8VH2wxJSTiKPr72PeM5uhPPFEsHzzYdxenddpTI150M0TYpljnZisQaROR0=h256-rw -

convert -resize 50x50! https://lh3.googleusercontent.com/VRY0O_3L8VH2wxJSTiKPr72PeM5uhPPFEsHzzYdxenddpTI150M0TYpljnZisQaROR0=h256-rw /var/test_sandeepan/output.jpg

输出-

convert: no decode delegate for this image format `WEBP' @ error/constitute.c/ReadImage/535.

由此,我得出结论,Imagick 要么根本不支持 webp,要么这个版本不支持。

这个答案中分享的一个链接谈到了 webp 支持以及 imagemagick 和 php,所以我认为 imagick 也必须支持 webp,因为根据我的理解,PHP imagemagick 只不过是 imagick 实用程序的包装类。如果我在这里错了,请纠正我。

我的结论是,Imagick 根本不支持 webp,或者这个版本不支持 webp。

Imagick并没有真正做任何事情。它所做的只是将PHP函数调用转换为C函数调用,通过其"魔杖"API调用ImageMagick代码。

如果你想让 ImageMagick 支持 webp,你要么需要安装一个编译了 webp 支持的版本,要么自己编译:http://www.imagemagick.org/script/advanced-unix-installation.php

你需要从apt/yum或 https://github.com/webmproject/libwebp 安装libwebp-devel,因为ImageMagick依赖于"委托"代码来读取/写入webp图像。