2012-04-30 14 views
1

画像と背景を合わせて2つの画像を結合するときの圧縮効果を得るのに問題が発生しました。一般的には、最初にメイン画像の画質は落ちませんが、背景は圧縮されていますが、最終的な画像を作成することです。php imagick setCompressionQualityとcompositeImage

<? 
     /* --- */ 
     $imageOutput = new Imagick(); 
     $image = new Imagick($orginalPath); 
     $wathermark = new Imagick($watherMarkFile); 

     // I'm compressing background image  
     $image->setImageCompression(imagick::COMPRESSION_JPEG); 
     $image->setimagecompressionquality(20); 
     $image->flattenimages();    

     // We're creating an image wich contains compressed background 
     $imageOutput->newImage($image->getimagewidth(), $image->getimageheight(), new ImagickPixel('white')); 
     $imageOutput->compositeimage($image, Imagick::COMPOSITE_DEFAULT, 0, 0); 
     $imageOutput->setImageFormat('jpeg'); 

     // And we are composing them 
     $imageOutput->compositeImage( $wathermark, Imagick::COMPOSITE_OVERLAY, 10,10) 

     $data = $imageOutput->getimageblob(); 

     /.... output..../ 
?> 

誰もが、バックグラウンドを含む圧縮ファイルを保存せずに行う方法を知っていますか?

私の英語を辞めていただき、ありがとうございました。 pawella

答えて

1

あなたは何を追加した場合:

$imageOutput->setImageCompression(imagick::COMPRESSION_JPEG); 
$imageOutput->setimagecompressionquality(100); 
関連する問題