1

PHP で GD を使用してイメージを作成するスクリプトがあります。Imagick を使用して、この画像を歪めます。現在、GD スクリプトは次のように終了しています。

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

これらの最後の 2 行を削除し、次のように置き換えました。

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

しかし、それは機能しません。次のエラーが発生します。

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

私は readImageBlob を完全には理解しておらず、ドキュメントはひどいので、どんな助けも大歓迎です!

4

1 に答える 1

2

readImageBlob関数は、GD リソースではなく、文字列をパラメーターとして受け取りますブロブはバイナリ データの文字列表現です。そのため、これらのデータを 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);
于 2013-01-24T21:57:11.603 に答える