Reputation: 33
I have experienced a problem obtaining the effect of compression during joining two images together - an image and background. Gennerally the idea is to make an final image while first, main image doesn't lose its quality but the background does (in effect is compressed).
<?
/* --- */
$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..../
?>
Does anyone know how to do it without saving compressed file which contains background.
Excuse for my english and thanks for any response. pawella
Upvotes: 1
Views: 1708
Reputation: 7243
What if you add:
$imageOutput->setImageCompression(imagick::COMPRESSION_JPEG );
$imageOutput->setimagecompressionquality( 100 );
Upvotes: 1