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)
может кому поможет:[