当前位置: 首页>>技术教程>>正文


ImageMagick convert 无法转换为 webp

, ,

问题描述

在 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

并使用 dwebpcwebp 命令从/压缩到 webp 文件格式。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12493.html,未经允许,请勿转载。