ホームページ  >  記事  >  バックエンド開発  >  致命的なエラー: キャッチされない例外「ImagickException」とメッセージ「Compositing ima」

致命的なエラー: キャッチされない例外「ImagickException」とメッセージ「Compositing ima」

WBOY
WBOYオリジナル
2016-06-23 13:49:421639ブラウズ

$image_name4=$Process.'4.gif';$inimg3=$Process.'1.jpg';$animation3 = new Imagick();		$animation3->setFormat("gif");		$i=0;		$image4 = new Imagick(realpath($image_name4));		$image4 = $image4->coalesceImages();foreach($image4 as $frame){ 			if(!is_file($inimg3)){				echo  '水印图像不存在';			}			$img = new Imagick();			$img->readImageBlob($frame);			$draw = new ImagickDraw();			$draw->color(0,0,imagick::PAINT_FLOODFILL);			$water = new Imagick(realpath($inimg3));			$draw->composite($water->getImageCompose(),0,0,320, 256,$water);			$img->drawImage($draw);                        $animation3->addImage( $img );			$animation3->setImageDelay( $img->getImageDelay() );//			$draw->destroy();                        $water->destroy();			$img->destroy();}$animation3->writeImages($Process.''.$id.'X.gif', true);//生成3X		$animation3->destroy();


Linux でエラーを報告する場合、ローカルの win7 は問題ありません: キャッチされない例外 'ImagickException' とメッセージ 'Compositing image failed' 。
ImagickDraw->composite(40, 0, 0, 320, 256, Object(Imagick)) #1 {main} がスローされました



ディスカッション (解決策) への返信

目視検査はあなたのものですLinux 上の php には imagick 拡張機能はありません。

これは Linux で利用できます。 。バージョンも最新にアップグレードされました

新しい Imagick(); ではなく、別個の
$draw->composite($water->getImageCompose(),0,0,320, 256,$water);この文は実行されます いいえ

getImageCompose()
このメソッドには戻り値がありますか?

getImageCompose()
このメソッドには戻り値がありますか?

GIF 遅延を設定する人もいますが、その値は 40 です。

結局、私は合成方法を諦めました。正しい使用方法については、後で更新します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。