$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 上の php には imagick 拡張機能はありません。
これは Linux で利用できます。 。バージョンも最新にアップグレードされました
新しい Imagick(); ではなく、別個の
$draw->composite($water->getImageCompose(),0,0,320, 256,$water);この文は実行されます いいえ
getImageCompose()
このメソッドには戻り値がありますか?
getImageCompose()
このメソッドには戻り値がありますか?
結局、私は合成方法を諦めました。正しい使用方法については、後で更新します