使用GD图像文件创建新的Imagick图像

时间:2013-01-23 23:13:30

标签: php gd imagick

我有一个在PHP中使用GD来创建图像的脚本。我想用Imagick然后扭曲这个图像。现在我的GD脚本像这样结束:

imagepng($img);
imagedestroy($img);

我删除了最后两行并将其替换为:

$image = new imagick(); 
$image->readImageBlob($img);

但它不起作用,它出错了以下内容:

PHP Fatal error:  Uncaught exception 'ImagickException' with message 'Can not process empty Imagick object'

我不完全了解readImageBlob并且文档非常糟糕,所以非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

readImageBlob函数将字符串作为参数,而不是GD资源。 blob 是二进制数据的字符串表示形式:因此您需要从GD资源中提取这些数据。

尝试以这种方式结束脚本:

ob_start();                   // starts output buffering
imagepng($img);               // writes image to that buffer
$blob = ob_get_clean();       // gets buffer as a string and clean it
$image = new imagick();  
$image->readImageBlob($blob);