Page 1 of 1
					
				polaroidImage and transparent formats
				Posted: 2016-04-21T13:12:21-07:00
				by tk1
				Hi!
I'm writing PHP functions with Imagick to make some effects on the webpages. I use polaroidImage function but when non transparent images are posted I see black border. I would like to have transparent background.
How can I detect if image supports transparency and then save as f.e. PNG ?
			 
			
					
				Re: polaroidImage and transparent formats
				Posted: 2016-04-21T13:40:17-07:00
				by snibgo
				tk1 wrote:...  but when non transparent images are posted ...
I don't think that is what you mean.
It might help if you posted your code and sample inputs/outputs.
To ensure an image has no transparency, "-alpha off" is the command-line option.
 
			
					
				Re: polaroidImage and transparent formats
				Posted: 2016-04-22T23:15:57-07:00
				by tk1
				[code]
		try {
			$newIm = new \Imagick();
			$newIm->setBackgroundColor(new \ImagickPixel('transparent'));
			$newIm->readImage($file);
			$geo = $newIm->getImageGeometry();			
			$newIm->polaroidImage(new \ImagickDraw(), $value); // IM >= 6.3.2			
			$newIm->resizeImage($geo['width'], $geo['height'], $this->gfxConf['windowing_filter'], 1);
			$newIm->writeImage($file);
			$newIm->destroy();
			
			return TRUE;
		}
		catch(ImagickException $e) {
[/code]
I would like to add transparency detection and change output image format if prestnt format doesn't support transparency. Now with JPG's I have black background.
			 
			
					
				Re: polaroidImage and transparent formats
				Posted: 2016-04-23T00:01:16-07:00
				by fmw42
				JPG does not support transparency. Use PNG or TIFF.
			 
			
					
				Re: polaroidImage and transparent formats
				Posted: 2016-04-23T11:07:37-07:00
				by tk1
				Yes. Jpeg doesn't support transparency. Users may use my function on various image formats.
This is why I would like to change output image format. But, how to enrich my function in image transparency detection?
I think image extension or format is not enough.
			 
			
					
				Re: polaroidImage and transparent formats
				Posted: 2016-04-23T12:28:10-07:00
				by fmw42
				I do not know how you would do this in your API, but see string formats %A and %[channels] to detect transparency at 
http://www.imagemagick.org/script/escape.php