ImageMagick转换无法转换为WebP


28

在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
您可以使用列出支持的格式convert -list format。在我的系统上,具有相同convert版本,没有显示webp
慢性病

1
谢谢,我在Launchpad上创建了一个错误报告。然后就可以为我们所有人解决此问题。bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1117481
Janghou

这也会影响debian 7(轻巧),但它们不会将Launchpad用于错误。
EarthmeLon 2014年

Answers:


21

已在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.

1
不幸的webp是,ImageMagick无法将其识别7.0.8-27为委托,而是必须安装libwebp-dev
AbdelHady

20

用于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安装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

谢谢,我们该如何纠正呢?
Janghou

1
如果您只想自己修复它,则可以重新构建该程序包。我编辑了答案以包含该信息。
丹尼斯·考斯玛克

@Janghou现在在Ubuntu错误列表中。bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1117481
流星

14

同时,可以安装:

$ sudo apt-get install webp

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


3
这也使imagemagick的身份可以正确处理webp图像。它修复了以下错误:确定:委托失败"dwebp" -pam "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1310. identify: unable to open image / tmp / magick-510118LyrHZ5A5Sr':没有这样的文件或目录@ error / blob.c / OpenBlob / 2712。标识:无法打开文件`/ tmp / magick-510118LyrHZ5A5Sr':没有这样的文件或目录@ error / constitute.c / ReadImage / 540。
four43

1
不幸的webp是,ImageMagick无法将其识别7.0.8-27为委托,而是必须安装libwebp-dev
AbdelHady

2

WebP支持在6.8.3之前还存在一些透明性问题,因此我使用了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抓取生动的版本,并tar -xf提取.deb
  • 然后内debian/control更换dpkg-dev (>= 1.17.6)的依赖,增加依赖关系libwebp-dev和更换Architecture: anyamd64,以避免构建失败。
  • 添加--with-webpdebian/rules,添加了changelog的项目dch和使用debuild -S -sd建立一个源只包。
  • 最后,在启动板上设置一个帐户,然后按照他们的说明共享您的修复程序。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.