ImageMagick конвертировать не может конвертировать в WebP
В Ubuntu 12.04 ImageMagick не поддерживает webp.
convert flyer.png flyer.webp
создает png файл с расширением webp.
На https://developers.google.com/speed/webp/docs/using указано, что ImageMagick поддерживает webp
convert --version
Версия: ImageMagick 6.6.9-7 2012-08-17 Q16
У меня есть оба:
- libwebp-dev - сжатие с потерями цифровых фотографических изображений.
- libwebp2 - Сжатие с потерями цифровых фотографических изображений.
установлены.
Также конвертировать не может декодировать файл webp.
Что не так, и это ошибка в Ubuntu?
4 ответа
Исправлено в 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.
Исходный пакет 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
А пока можно установить:
$ sudo apt-get install webp
И использовать dwebp
а также cwebp
Команды для распаковки / сжатия из / в формат файла webp.
Поддержка WebP также имеет некоторые проблемы с прозрачностью до 6.8.3, поэтому я использовал 6.8.9-9 из 15.04 Vivid и перенес его на 14.04 Trusty с поддержкой webp. Используйте на свой риск:
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
построить пакет только с исходным кодом. - Наконец, создайте учетную запись на панели запуска и следуйте инструкциям, чтобы поделиться своим исправлением.