ImageMagick没有解码委托

时间:2012-03-06 14:53:47

标签: imagemagick

我尝试使用imagemagick转换图片,但我收到此错误:

  

转换:此图像格式没有解码委托`//i.imgur.com/nTheJ.jpg' @ error / construct.c / ReadImage / 532。

我这样做:

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

我有以下代表:

  

DELEGATES freetype jpeg jng mpeg png x11 xml zlib

有谁知道问题是什么?

10 个答案:

答案 0 :(得分:73)

在Rails中使用DragonFly渲染图像时出现此错误。这是在我升级到Lion之后发生的(ImageMagick是使用Brew安装的)。

我重新安装了ImageMagick,jpeg,libtiff和jasper(重新安装ImageMagick本身就不够了)。

brew uninstall imagemagick jpeg libtiff jasper
brew install imagemagick

在此之前,运行

identify -list format

和jpeg不在列表中。重新安装上面的软件包后,jpeg出现在列表中。

答案 1 :(得分:25)

对我来说:

 brew reinstall imagemagick --with-libtiff

在处理类似问题时节省了一天,但是对于tiff文件。

更新:一年后,这仍然是我在MacOS X上转换正常工作的唯一方法。

答案 2 :(得分:13)

使用大写×替换-resize 600×600中的X并且它应该有效。

-resize 600X600

答案 3 :(得分:3)

我最近遇到了同样的问题。谷歌搜索几个小时后,我发现原因是PHP扩展之间的冲突Gmagick& Imagick。在php.ini中评论gmagick.so解决了这个问题。希望这会节省一些时间:)

答案 4 :(得分:1)

来自菲利普英格拉姆的互联网上的某个地方:

在gentoo中使用

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

这与Jonathan Horseman的答案略有不同,因为它不是错误,而是需要在安装过程中指定更多。

但识别命令非常有用。

希望这有助于某人(也许是将来的我)。

答案 5 :(得分:1)

在我的情况下,解决方案是用*.{jpg,png}而不是*结束命令。

我相信*正在接收/尝试转换隐藏文件。

答案 6 :(得分:1)

redhat4.8,如果从源码安装, 也许可以尝试:

  

yum remove 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

     

./配置

     

sudo make install

     

sudo ldconfig / usr / local / lib

答案 7 :(得分:0)

我在Windows 7上的ImageMagick v7.0.4-5上遇到过与TIFF文件类似的问题。

如果这个问题涉及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。也可以重新启动命令shell。
  • 首先cd进入ImageMagick的安装文件夹,然后再执行它。

答案 8 :(得分:0)

在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

答案 9 :(得分:0)

我遇到了问题,我忘了把obj下载的照片放在我放置的路径上。

file_get_contents($ pathToPhoto)

也许有人帮助:[