Ubuntu 12.04では、ImageMagickはwebpをサポートしていないようです。
convert flyer.png flyer.webp
webp拡張子のpngファイルを作成します。
オン https://developers.google.com/speed/webp/docs/using は、ImageMagickがwebpをサポートすることを示しています
convert --version
バージョン:ImageMagick 6.6.9-7 2012-08-17 Q16
私は両方を持っています:
インストール済み。
また、変換はwebpファイルをデコードできません。
何が問題なのですか?これはUbuntuのバグですか?
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ファイル形式を解凍/圧縮します。
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
を使用してvividのバージョンを取得し、tar -xf
を使用して.deb
を抽出します。debian/control
内でdpkg-dev (>= 1.17.6)
依存関係を置き換え、libwebp-dev
の依存関係を追加し、ビルドエラーを回避するためにArchitecture: any
をAMD64
に置き換えます。--with-webp
にdebian/rules
を追加し、dch
で変更ログエントリを追加し、debuild -S -sd
を使用してソースのみのパッケージをビルドします。