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

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

ДЕЛЕГАТЫ freetype jpeg jng mpeg png x11 xml zlib

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

13 ответов

Решение

Заменить × в -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 правильно работать в конвертировании на MacOS X.

На Ubuntu 16 мне сначала пришлось установить следующее (это была не машина разработчика, а сервер):

sudo apt-get install autoconf automake autotools-dev libtool pkg-config 

затем включить делегаты PNG и JPG:

sudo apt-get install libpng12 libpng12-dev libjpeg libjpeg-dev

с последующим

./configure

(Который должен теперь показать, что делегаты включены)

а потом перестраивать (make clean && make затем sudo make install)

У меня была аналогичная проблема. Мне не хватало делегатов для JPEG, PNG:

      apt install libjpeg-dev
apt install libpng-dev

cd ImageMagick-7.1.0-19/
./configure

Теперь проверьте, что вывод jpeg=yes; png=да

      make
sudo make install

Теперь попробуйте convertили же mogrify

      mogrify -path "output/" -resize 1920X1920 some.jpeg

Я недавно столкнулся с той же проблемой. После нескольких часов поиска в Google я обнаружил, что причиной является КОНФЛИКТ между расширениями php Gmagick & Imagick. Комментирование gmagick.so в php.ini устранило проблему. Надеюсь, это сэкономит кому-то время:)

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

ням удалить libjpeg

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

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

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

./configure --enable-shared

делать

sudo make install

чем превратить в ImageMagick

CD ImageMagick-6.9.6-4

./configure

sudo make install

sudo ldconfig / usr / local / lib

От Филиппа Инграма где-то на межсетях

в использовании Gentoo

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

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

Но команда идентификации была очень полезна.

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

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

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

Еще одна причина появления этой ошибки — когда файл, который вы пытаетесь преобразовать, не имеет расширения.

Это может произойти, например, в приложении Node.js, использующем multerс конфигурацией по умолчанию.

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

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

причина

Я установил 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 перед его выполнением.

теперь есть что-то о сообщении в документах ImageMagick: https://github.com/ImageMagick/ImageMagick/blob/main/www/advanced-linux-installation.html#L591

У меня была проблема, и я забыл поместить загруженную фотографию в obj вместо того, чтобы указать путь.

file_get_contents($pathToPhoto)

может кому поможет:[

Другие вопросы по тегам