我有一个在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并且文档非常糟糕,所以非常感谢任何帮助!
答案 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);