我发现我的Imagick安装中没有PNG支持,因此我安装了 libpng 。现在我可以看到运行命令时支持PNG格式
convert -list format
从PNG到JPG的转换在命令行中运行良好:
convert a.png b.jpg
但是当我尝试用PHP读取PNG文件时:
$src = new \Imagick();
$src->readImageBlob( file_get_contents($file) ); // reading PNG format
-it给了我错误500(“...此图像格式没有解码代理”)
当我运行phpinfo()
时 - 我在Imagick支持的文件格式列表中看不到PNG。还有很多其他人,但没有PNG。
我试图重新启动PHP Imagick驱动程序,然后重新启动apache - 仍然没有成功。
PS:我有PHP 5.4 @ CentOS
答案 0 :(得分:1)
根据安装要求。 “Imagick支持的格式数量完全取决于ImageMagick安装支持的格式数量。”我想你需要重建PHP imagemagick扩展。见这里:http://php.net/manual/en/imagick.installation.php
答案 1 :(得分:0)
问题解决了。
我在下面的链接中使用了Imagick安装@CentOS的指南,重新安装了一切,就像它在那里说的一样,并且它有所帮助 - http://www.directadmin.com/forum/showthread.php?t=44449&page=1