ImageMagick нет делегата декодирования


Я пытаюсь преобразовать изображение с imagemagick, но я получаю эту ошибку:

convert: нет делегата декодирования для этого формата изображения `//i.imgur.com/nTheJ.jpg ' @ error / constitute.c / ReadImage / 532.

Я делаю так:

convert http://i.imgur.com/nTheJ.jpg -resize 600×600 filarkiv/billeder/produkter/s236-085145.jpg

У меня есть следующие делегаты:

делегаты только в формате JPEG и MPEG jng ПНГ Х11 XML с помощью zlib

кто-нибудь знает в чем проблема?

8   51   2012-03-06 18:53:47

8 ответов:

заместитель × in -resize 600×600 с уставным капиталом X и это должно работать.

-resize 600X600

у меня была эта ошибка при рендеринге изображения с помощью DragonFly в Rails. Это произошло после того, как я обновился до Lion (ImageMagick был установлен с помощью Brew).

я переустановил ImageMagick, jpeg, libtiff и jasper (переустановки ImageMagick было недостаточно само по себе).

brew uninstall imagemagick jpeg libtiff jasper
brew install imagemagick

до этого, работает

identify -list format

и jpeg не было в списке. После переустановки вышеуказанных пакетов jpeg появился в списке.

для меня:

 brew reinstall imagemagick --with-libtiff

Спас день при работе с аналогичной проблемой, но для файлов tiff.

обновление: один год спустя, и это остается единственным способом, которым я могу заставить tiff работать правильно в convert на MacOS X.

Я столкнулся с той же проблемой. После того, как я погуглил пару часов, я узнал, что причиной был конфликт между PHP-расширениями Gmagick & Imagick. Комментирование gmagick.so в php.ini исправил проблему. Надеюсь, это сэкономит кому-то время :)

от Филиппа Ингрэма где-то на паутине:

в gentoo использовать

sudo EXTRA_ECONF="--with-png --with-jpeg" emerge imagemagick"

это немного отличается от ответа Джонатана всадника, так как это была не ошибка, а скорее необходимость указать больше во время установки.

но команда identify была очень полезна.

надеюсь, что это поможет кому-то (и, возможно, мне в будущем ;).

в моем случае решение состояло в том, чтобы закончить команду с *.{jpg,png}, а не *.

Я считаю * собирал / пытался конвертировать скрытые файлы.

redhat4. 8, Если вы устанавливаете из исходного кода, может быть можно попробовать:

yum удалить libjpeg

wget http://www.imagemagick.org/download/delegates/jpegsrc.v9a.tar.gz

sudo tar xvf jpegsrc.v9a.тар.gz-C / usr / local / src/

cd / usr / local / src / jpeg-9a

./configure --enable-shared

сделать

sudo make install

чем включить в ImageMagick

cd ImageMagick-6.9.6-4

./настроить

sudo make install

sudo ldconfig / usr / local / lib

я столкнулся с аналогичной проблемой с файлами TIFF на ImageMagick v7.0.4-5 в Windows 7.

если этот вопрос касается ОС Windows, то причина в том, что Windows не может найти библиотеку файлов Jpeg (в моем случае, TIFF) (DLL).

причина

Я установил ImageMagick без добавления его в Windows $PATH.

сообщение об ошибке

в результате ошибка

identify: unable to load module 'C:\Program Files\ImageMagick-7.0.4-Q16\modules\coders\IM_MOD_RL_TIFF_.dll':
The specified module could not be found.
 @ error/module.c/OpenModule/1279.
identify: no decode delegate for this image format `TIFF'
 @ error/constitute.c/ReadImage/509.

решение

  • переустановите ImageMagick и добавьте его в $PATH, Так что он может найти libtiff. Также перезапустите командную оболочку.
  • первый cd в папку установки ImageMagick перед ее выполнением.