我在使用PHP的Imagick课程时遇到了很多困难,不管我使用哪种方法,它似乎都不想读取图像。
$handle = fopen('http://ima.gs/Placeholder-400x200.png', 'rb'); // Sample image
$img = new Imagick();
$img->readImageFile($handle);
$img->resizeImage(128, 128, 0, 0);
$img->writeImage(ROOT . DS . 'foo.png');
这给了我内部错误"无法从文件句柄中读取图像"
$img = new Imagick(ROOT . DS . '00053141.jpg'); // Image does exist
$img->resizeImage(128, 128, 0, 0);
$img->writeImage(ROOT . DS . 'foo.jpg');
这给了我内部错误"没有这种图像格式的解码代理`D:\ Work \ DittoCake \ 00053141.jpg' @ error / construct.c / ReadImage / 550"
您可以在此处查看我的代表和配置详细信息:http://cl.ly/image/1j2z1H072K41/Image%202014-10-22%20at%209.35.28%20AM.png
convert 00053141.jpg -set colorspace RGB 00053141_rgb.jpg
这成功运行,并且可以确认在Photoshop中检查时图像模式已从CMKY更改为RGB。 (我的最后一招是使用shell_exec,但我不愿意)
我有一种感觉,这可能是因为我在Windows上运行它,我使用它的主要目的只是将任何图像从CMKY转换为RGB,我的应用程序已经涵盖了调整大小/更改图像类型。