繁体   English   中英

ImageMagick没有此图像格式的解码委托

[英]ImageMagick No decode delegate for this image format

我在Windows和wamp服务器下工作。

这是我用Imagick的PHP代码

$imagick = new Imagick($_SERVER['DOCUMENT_ROOT'] . '/' . $this->_name);

其中$_SERVER['DOCUMENT_ROOT'].'/'.$this->_name显示:

d:/Sources/my_project/public/media/2/9/1/05201502/55450e1b6543a05201502_9.PNG

我检查了该图像,它确实存在于该文件夹中。

但是Imagick引发了一个异常:

未捕获的异常'ImagickException',消息'没有此图像格式的解码委托'D:/Sources/my_project/public/media/2/9/1/05201502/55450b10d8ea705201502_9.PNG'@ error / construct.c / ReadImage / 555'在第225行的D:\\ Sources \\ my_project \\ library \\ project \\ Image.php中

我寻找一个解决方案,但没有找到任何解决方案,我该如何解决? 谢谢

更新:这是我在命令行中键入convert -version时的结果:

  Version: ImageMagick 6.8.8-4 Q16 x86 2014-01-29 http://www.imagemagick.org
  Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
  Features: DPC Modules OpenMP
  Delegates: bzlib cairo freetype jbig jng jp2 jpeg lcms lqr pangocairo \
             png ps rsv g tiff webp xml zlib

更新

这是imagick的phpinfo。

ImageMagick支持的格式数量:0
ImageMagick支持的格式:没有价值

你应该跑

convert -version

并报告输出。 在我的系统上它是

Version: ImageMagick 6.9.0-0 Q16 x86_64 2014-12-06 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype gslib gvc jbig \
                      jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png ps \
                      rsvg tiff webp wmf x xml zlib

您的输出是否包含png作为内置“代理人”之一

如果没有,请更新您的安装,或从当前源构建。

似乎您的ImageMagick PHP模块不支持任何图像格式。

尝试找到其他ImageMagick安装或从头开始安装PHP。

此外 - 似乎已经有关于此的问题/答案

最后我找到了我的windows openserver / nginx / php-fpm安装解决方案:

  1. http://windows.php.net/downloads/pecl/releases/imagick/下载适用于您的PHP版本的最新php_imagick分发版(例如php_imagick-3.4.3-7.1-ts-vc14-x64.zip)
  2. 从此存档中仅提取php_imagick.dll到您的“php / ext”文件夹。
  3. 运行phpinfo()并在“使用ImageMagick版本编译的Imagick”行检查值(我的是:“ImageMagick 6.9.3-7 Q16 x64 ......”)。
  4. 现在转到http://windows.php.net/downloads/pecl/deps/并下载正确版本的Imagick - * .zip文件(我的是:ImageMagick-6.9.3-7-vc14-x64.zip)。
  5. 取消此存档并将所有* .dll文件从“/ bin”文件夹复制到“php / ext”文件夹(约145个文件)。
  6. 重启服务器并检查phpinfo()。 ImageMagick现在支持大约230种格式。

有时phpinfo()显示imagick支持所有格式,但php脚本没有响应 - 在这种情况下请仔细检查您是否为您的安装下载了正确版本的Imagick - * .zip。 (ts / nts,VC11 / VC14,x64 / x86)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM