我在Windows和WAMP服务器下工作。
这是我的PHP代码,使用了Imagick。
$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抛出了一个异常:
Uncaught exception 'ImagickException' with message 'no decode delegate for this image format `D:/Sources/my_project/public/media/2/9/1/05201502/55450b10d8ea705201502_9.PNG' @ error/constitute.c/ReadImage/555' in D:\Sources\my_project\library\project\Image.php on line 225
我寻找了解决方法,但没有找到,我该怎么办?谢谢
更新:在命令行中键入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格式:无
phpinfo()
ImageMagick 支持的图像格式。 此外,请确保文件可被 PHP 通过readfile()
或类似函数读取。 - Kalle Volkov