在 Ubuntu 12.04 上,ImageMagick 似乎不支持 webp。
convert flyer.png flyer.webp
创建一个带有 webp 扩展名的 png 文件。
在webp 文档据称 ImageMagick 支持 webp
$ convert --version`
Version: ImageMagick 6.6.9-7 2012-08-17 Q16
我已经安装了这两个:
libwebp-dev
- 数码摄影图像的有损压缩。libwebp2
- 数码摄影图像的有损压缩。
此外,convert 无法解码 webp 文件。
出了什么问题?这是 Ubuntu 的一个错误吗?
答案1
已在 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.
答案2
Ubuntu 的 imagemagick 源包未声明对 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
答案3
同时可以安装:
$ sudo apt-get install webp
并使用dwebp
和cwebp
命令从/到 webp 文件格式解压缩/压缩。
答案4
在 6.8.3 之前,WebP 支持还存在一些透明度问题,因此我使用了 15.04 Vivid 中的 6.8.9-9,并将其移植到具有 webp 支持的 14.04 Trusty。使用时请自担风险:
sudo add-apt-repository ppa:jamedjo/ppa
sudo apt-get update
sudo apt-get install imagemagick libmagickcore-6.q16-2
如果你想重复此操作,步骤如下:
- 用于
backportpackage imagemagick --source vivid --destination trusty --workdir=imagemagick-backport
获取vivid的版本并tar -xf
提取.deb
。 - 然后在
debian/control
替换dpkg-dev (>= 1.17.6)
依赖项中,添加依赖项libwebp-dev
并替换Architecture: any
以amd64
避免构建失败。 - 添加,
--with-webp
添加debian/rules
一个变更日志条目dch
并使用来debuild -S -sd
构建仅有源的包。 - 最后,在启动板上创建一个帐户并按照他们的指示分享您的修复。