2015年8月17日 星期一

Add WebP support to Imagick

On Ubuntu 12.04 ImageMagick doesn't seem to support webp.
convert flyer.png flyer.webp
creates an png file with webp extension.
On https://developers.google.com/speed/webp/docs/using is stated that ImageMagick does support webp
convert --version Version: ImageMagick 6.6.9-7 2012-08-17 Q16
I have both:
  • libwebp-dev - Lossy compression of digital photographic images.
  • libwebp2 - Lossy compression of digital photographic images.
installed.
Also convert can't decode a webp file.
What's wrong, and is this an Ubuntu bug?

The Ubuntu source package for imagemagick does not declare a build dependency on libwebp-dev. Thus imagemagick gets built without webp support. This could be considered a bug in Ubuntu.
Relevant output from the build process:
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
And when libwebp-dev Install libwebp-dev is installed:
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
If you want to fix this just for yourself, you can rebuild the package and install your version:
cd /tmp
mkdir imagemagick
cd imagemagick
sudo apt-get build-dep imagemagick subversion
sudo apt-get install libwebp-dev devscripts
apt-get source imagemagick
cd imagemagick-*
debuild -uc -us
sudo dpkg -i ../*magick*.deb

Reference: http://askubuntu.com/questions/251950/imagemagick-convert-cant-convert-to-webp