PHP: PNG tinitng (1 color) - php

Before I start, I just want to note that I am a PHP noob. What I want to do is tint a PNG image to one color. So all transparent pixels will remain transparent, and all non-transparent pixels will be that color. I have searched many sites for this answer but for some reason I can't find what I want.
Here is my first attempt based on different examples I found:
<?php
header('Content-Type: image/png');
$color = $_GET['color'];
$im = imagecreatefrompng($_GET['img']);
$width = imagesx($im);
$height = imagesy($im);
$imn = imagecreatetruecolor($width, $height);
imagealphablending($imn,false);
$col=imagecolorallocatealpha($imn,255,255,255,127);
imagesavealpha($imn,true);
imagefilledrectangle($imn,0,0,$width,$height,$col);
imagealphablending($imn,true);
imagecopy($imn, $im, 0, 0, 0, 0, $width, $height);
imagefilter($imn, IMG_FILTER_GRAYSCALE);
if ($color[0] == '#')
$color = substr($color, 1);
if (strlen($color) == 6)
$r = $color[0].$color[1];
$g = $color[2].$color[3];
$b = $color[4].$color[5];
$r = hexdec($r);
$g = hexdec($g);
$b = hexdec($b);
imagefilter($imn, IMG_FILTER_COLORIZE, $r, $g, $b);
imagepng($imn);
imagedestroy($imn);
?>
Essentially a perfect example of what I want can be seen here. The only change will be that instead of black, I want it to be converted to the color the user specifies.
Convert non-transparent pixels to black
Thank You
===============================
10/17/2012 Update
So based on xception's answer, here is the code that I used to execute his script:
<?php
$source = "test.png";
$temp = "temp.png";
$color = "red";
$final = "FINAL.png";
exec("convert $source -alpha extract -threshold 0 -negate -transparent white $temp");
exec("convert $temp -fill $color -opaque black $final");
?>
It worked, however there is a small problem. As illustrated in the screenshots below, there are jagged edges. Any ideas on how to smooth the image so it looks as nice as it did in the BEFORE screenshot?
BEFORE:
AFTER:

Example in 2 steps based on the link you pointed to:
convert <source> -alpha extract -threshold 0 -negate -transparent white <tmp>
convert <tmp> -fill red -opaque black <destination>
replace <source>, <tmp>, <destination> with appropriate file names, replace red with the color you want.
EDIT:
shorter version found by question author:
exec("convert $source -threshold 100% +level-colors '#00FF00', $final");

Related

Why ImageColorSet() is not working in PHP?

I want to change RGB of (x,y)=(0,0) coordinate of a photo which I've uploaded from input tag. And I am able to get RGB of certain pixel but I am not able to change that pixel's RGB.
$im = imagecreatefrompng($image);
$rgb = imagecolorat($im, 0, 0); //(0,0)=(x,y)
imagecolorset($im,$rgb,255,255,255); //here i tried to change RGB
$rgb = imagecolorat($im, 0, 0); //After changing again I tried to get that pixel's RGB but new RGB is not showing
$colors = imagecolorsforindex($im, $rgb); //I am indexing that RGB

How to make specified area of an image transparent with Imagick?

I want to make a part of an image transparent, I tried the code below, even tried many constants as COMPOSITE_DSTOUT, but all didn't work, does anyone know how to?
$fooImage->newImage(256, 256, new ImagickPixel('transparent'));
$Image->compositeImage($fooImage, Imagick::COMPOSITE_DSTOUT, $offsetX, offsetY);
I tested the code below, just got yellow with black, not transparent:
$width = 256;
$height = 256;
$image = new Imagick();
$image->newImage($width, $height, new ImagickPixel('yellow'));
$x = 50;
$y = 100;
$fooWidth = 100;
$fooHeight = 60;
//Create a new transparent image of the same size
$mask = new Imagick();
$mask->newImage($width, $height, new ImagickPixel('none'));
$mask->setImageFormat('png');
//Draw onto the new image the areas you want to be transparent in the original
$draw = new ImagickDraw();
$draw->setFillColor('black');
$draw->rectangle($x, $y, $x + $fooWidth, $y + $fooHeight);
$mask->drawImage($draw);
//Composite the images
$image->compositeImage($mask, Imagick::COMPOSITE_DSTOUT, 0, 0,
Imagick::CHANNEL_ALPHA);
$image->setImageFormat('png');
$image->writeImage($path);
Got black inside yellow, not transparent in yellow
You need to make a black and white mask image the size of your input (white where you want it to be opaque and black where you want it to be transparent). Then use the equivalent of -compose copyopacity -composite to put the mask into the alpha channel of the image. Sorry, I do not code Imagick.
Here is an example using ImageMagick command line syntax:
Input:
convert logo.jpg \( -size 640x480 xc:white -size 200x200 xc:black -geometry +200+100 -compose over -composite \) +geometry -alpha off -compose copy_opacity -composite result.png
You can see it is transparent by compositing it over another image (in this case a checkerboard).
convert ( -size 640x480 pattern:checkerboard ) result.png -compose over -composite result2.jpg
Do you try \Imagick::COMPOSITE_COPYOPACITY ?
Because that's probably the right one.

Removing red eye in PHP using Imagick

I'm trying to adapt the script available here [http://www.fmwconcepts.com/imagemagick/redeye/index.php][1] in PHP using the API version of Imagick.
Actually, the selection is done in jQuery then passed to the following script to draw the selection.
Here's my code so far:
<?php
extract($_POST);
// Load the original image
$image = new Imagick($path);
// Duplicate and desaturate the original image
$image2 = clone $image;
$image2->modulateImage(15, 0, 100);
// Create the mask on which the selection will be drawn
$image3 = clone $image;
$image3->colorfloodfillimage(new ImagickPixel('white'), 18, new ImagickPixel('white'), 0, 1);
foreach ($redeye as $selection){
try{
$draw = new ImagickDraw();
$draw->setstrokewidth(0);
$draw->setstrokecolor(new ImagickPixel('black'));
$draw->setFillColor(new ImagickPixel( 'black' ));
$draw->setfillalpha(1);
$draw->ellipse( $selection['ox'], $selection['oy'], $selection['rx'], $selection['ry'], 0, 360 );
$image3->drawImage($draw);
} catch (ImagickException $ie){
echo $ie->getMessage();
}
}
?>
I know very little about image processing and don't know how to merge the 3 layers.
I don't really understand the code of the convert function when merging the layer.
Any help would be greatly appreciated!
EDIT:
convert $tmpA1 $tmpA2 $tmpA3 -compose over -composite $tmpA2
As I understand this should be written like the following using the API:
$image2->compositeImage($image3,Imagick::COMPOSITE_OVER, 0, 0);
$image2->compositeImage($image2,Imagick::COMPOSITE_OVER, 0, 0);
$image2->compositeImage($image,Imagick::COMPOSITE_OVER, 0, 0);
Then
convert $tmpA2 \( $tmpA1 -modulate 100,0,100 \) $tmpA4 -compose over -composite $outfile
Should be written like that:
$image->modulateImage(100, 0, 100);
$image->compositeImage($image,Imagick::COMPOSITE_OVER,0, 0);
$image->compositeImage($image2,Imagick::COMPOSITE_OVER,0, 0);
But I don't understand this part:
convert $tmpA3 ( +clone -morphology close disk:$rad $dilation ) -compose difference -composite -auto-level -negate -threshold 0 -negate $tmpA4

Black background on GIF instead of transparency in PHP using imagegif()

Edit 2:
SUCCESS! many thanks to moycakes!
The correct way to convert a PNG to a GIF while retaining transparency goes as follows:
$input = "data:image/png;base64,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";
$image = imagecreatefrompng($input);
imagesavealpha($image, true);
imagecolortransparent($image, 127<<24);
imagegif($image, 'img/test.gif');
GOSH! two days for such a simple few lines of code >__<
Thank you to everyone who posted a suggestion.
old post:
Alright, I'm at my wits end now. (Why is the GD library in PHP so confusing??)
I've been at this for several hours two days now.. and I just can't get PHP to make a GIF from a PNG with a transparent background.
There are several posts about this on StackOverflow but none of the solutions provided really helped me at all. I always end up with either a black background image or everything black in my image becomes transparent except for the background (or just everything stays black).
I've typed imagecolorallocate and imagecolortransparent so many times that these commands have lost their meaning to me.. >___<
my code looks like this:
$input = "data:image/png;base64,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";
list($ignore, $imgData) = explode(',', $input);
$image = imagecreatefromstring(base64_decode($imgData));
imagealphablending($image, true); // setting alpha blending on
imagesavealpha($image, true); // save alphablending setting
//my code works up until this point (I can output a transparent PNG successfully)
//this is where I would make a new image with-
//the transparent background and put my transparent PNG on it-
//to prep it for imagegif();
//i kinda had some success with:
//$fill = imagecolorallocate($image, 255, 250, 214);
//imagefill($image, 0, 0, $fill);
//just to test if I could actually change the background..
//but anything like a circle with a transparent center would not--
//get filled with transparency and would remain black.
//so this obviously isn't the way to do it.
imagegif($img, 'test.gif');
The end result has to be a GIF preserving the PNG's transparent background.
I'm really stuck ¬____¬ please help me.
Thank you in advance for any advice you can provide.
Edit:
To show you an example of why chrislondon's second example does not work, I have drawn a half circle and a full circle in this image and then spun it through chrislondon's code (resulting in a .GIF image which is what I want):
The (lumpy)black circle is not filled by me, it is just the transparency in the center not showing through. The (lumpy)circle to the right is not completed all the way leaving a gap and so the transparency is filled.
I hope this will clear up any remaining misunderstandings to what I'm trying to achieve.
imagecolortransparent($image, 127<<24); // 0x7f000000
The GD library stores the alpha in a weird way.
0x7f000000 = 100% transparent black
0x00000000 = 100% opaque black
So choosing the transparent black, over the opaque black color, will make it transparent.
This appears to work:
$input = "data:image/png;base64,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";
list($ignore, $imgData) = explode(',', $input);
$image = imagecreatefromstring(base64_decode($imgData));
$width = imagesx($image);
$height = imagesy($image);
$imageOut = imagecreatetruecolor($width, $height);
//TODO - edges will be anti-aliased to this colour, pick one that will look
//'good' for you, e.g. mid-grey for general case, white for white pages,
$background = imagecolorallocatealpha($imageOut, 0x7f, 0x7f, 0x7f, 0);
imagefill($imageOut, 0, 0 , $background);
imagecopyresampled($imageOut, $image, 0, 0, 0, 0, $width, $height, $width, $height);
imagesavealpha($imageOut, true);
imagecolortransparent($imageOut, $background);
imagegif($imageOut, "../../var/tmp/test.gif");
The bit you missed was you have to explicitly say which colour should be set as transparent. It won't automatically convert the alpha channel to being transparent.
However this method is actually slightly dangerous, as whichever pixels are that colour will be transparent in the final image. You may be better choosing a colour unlikely to be present elsewhere e.g. rgb(0xff, 0xff, 0)
If you're fine with a PNG this works perfectly:
$input = "data:image/png;base64,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";
$image = imagecreatefrompng($input);
imagesavealpha($image, true);
imagepng($image, 'test.png');
If you want to convert it to a GIF you have to fill in the transparent color like this:
$input = "data:image/png;base64,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";
$image = imagecreatefrompng($input);
$transparent = imagecolorallocatealpha($image, 255, 255, 255, 127);
imagefill($image, 0, 0, $transparent);
imagegif($image, 'test.gif');
Note that because your string is an image/png you can use imagecreatefrompng and not have to do any comma exploding :)
Try this:
list($ignore, $imgData) = explode(',', $input);
$image = imagecreatefromstring(base64_decode($imgData));
$fill = imagecolorallocate($image, 255, 250, 214);
imagecolortransparent($image, $fill);
imagefill($image, 0, 0, $fill);
imagegif($image);

Imagemagik and php imagecopy doesn't preserve transparency

Im facing a strange problem when i use imagemagik converted image with php imagecopy.. Here is my code
$cmd = "convert ".realpath($temp1)." -alpha set -channel alpha -background none -vignette 0x3 ".$dest_img;
exec($cmd);
This code makes the edges feathered so i can have a clean merging.. Here is my code for merging image
$image = imagecreatefromjpeg($postcard_img);
$frame = imagecreatefrompng($thumb_img);
list($w, $h) = getimagesize($postcard_img);
imagealphablending($frame,true);
//imagecopymerge($image, $frame, $coords[0], $coords[1], 0, 0, $w, $h, 100);
imagecopy($image, $frame, $coords[0], $coords[1], 0, 0, $w, $h);
And here is the result
Okay now the strange stuff.. IF I don't use ImageMagik and simply merge it by replacing imagecopy() with imagecopymerge() it works then but leaves rough edges.. Here is the code of imagecopymerge()
$postcard_img = $postcard[0]["ms_filepath"].$postcard[0]["ms_filename"];
$thumb_img = $thumb[0]["ms_thumbpath"].$thumb[0]["ms_thumbname"];
$image = imagecreatefromjpeg($postcard_img);
$frame = imagecreatefrompng($thumb_img);
list($w, $h) = getimagesize($postcard_img);
imagealphablending($frame,true);
imagecopymerge($image, $frame, $coords[0], $coords[1], 0, 0, $w, $h, 100);
And here is the result (See the rough edges)
All i need is the feathered image.. Any idea why its happening and how to overcome it?
No. Resistance is futile.
convert ( frame.png -channel alpha -blur 0x5 -level 50%,100% ) ( avatar.jpg -geometry +70+120 ) -compose dstover -composite output.png
You can always make frame with feathered edges in Photoshop (or similar) and just put one on top of another.

Categories