问题描述
在 Ubuntu 12.04 ImageMagick 似乎不支持 webp。
convert flyer.png flyer.webp
创建一个带有 webp 扩展名的 png 文件。
在 webp docs 上声明 ImageMagick 确实支持 webp
$ convert --version`
Version: ImageMagick 6.6.9-7 2012-08-17 Q16
我已经安装了这两个:
-
libwebp-dev
– 数字摄影图像的有损压缩。 -
libwebp2
– 数字摄影图像的有损压缩。
此外,convert 无法解码 webp 文件。
怎么了,这是一个 Ubuntu 错误吗?
最佳答案
在 16.04 中修复
在 16.04 convert flyer.png flyer.webp
中确实可以工作,尽管需要 webp
:
sudo apt-get install webp
如果未安装 webp
,将显示此错误消息:
convert: delegate failed `"cwebp" -quiet -q %Q "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1310.
次佳答案
imagemagick 的 Ubuntu 源包没有声明对 libwebp-dev 的构建依赖。因此 imagemagick 是在没有 webp 支持的情况下构建的。这可以被认为是 Ubuntu 中的一个错误。
构建过程的相关输出:
checking for WEBP...
checking webp/decode.h usability... no
checking webp/decode.h presence... no
checking for webp/decode.h... no
checking for WebPDecodeRGB in -lwebp... no
checking if WEBP package is complete... no
当安装 libwebp-dev 时:
checking for WEBP...
checking webp/decode.h usability... yes
checking webp/decode.h presence... yes
checking for webp/decode.h... yes
checking for WebPDecodeRGB in -lwebp... yes
checking if WEBP package is complete... yes
如果您只想自己解决这个问题,您可以重建包并安装您的版本:
cd /tmp
mkdir imagemagick
cd imagemagick
sudo apt-get build-dep imagemagick
sudo apt-get install libwebp-dev devscripts
apt-get source imagemagick
cd imagemagick-*
debuild -uc -us
sudo dpkg -i ../*magick*.deb
第三种答案
同时可以安装:
$ sudo apt-get install webp
并使用 dwebp
和 cwebp
命令从/压缩到 webp 文件格式。