PHP/GD - transparent background - php

I want to do the following in PHP in combination with GD. ImageMagick is not an option, unfortunately, but this seems like such a common problem that there has to be a solution, I just can't seem to find it.
I want to create a PNG with a transparent background. Then I want to draw a rectangle on it, copy an image on it, and add some text. One way of doing this is as follows:
$image = ImageCreateTrueColor (800, 600);
imagecolortransparent ($image, 0); //0 is pure black, the default fill color
imagerectangle (...);
//code to copy an image
imagettftext ($image, ...);
imagepng ($image);
This works fine, except that part of the copied image might be black, and/or the text might be black. This then also becomes transparent, which is something I don't want.
imagefill ($image, 0,0, 0x7FFF0000);
imagetransparent ($image, 0x7FFF0000);
The above code is something I found online, which fills it with red, then makes red transparent. Again, this causes all red in the image to become transparent. I could choose a color that is unlikely to occur, but I can't guarantee this.
Is there something I'm missing? Can this be fixed?
Thanks for your replies!

imagecolortransparent is probably not what you want here if you're merging images, as single-colour transparency is nasty.
Instead, try it with a transparent fill mask like so:
<?php
$image = imagecreatetruecolor(100, 100);
// Transparent Background
imagealphablending($image, false);
$transparency = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparency);
imagesavealpha($image, true);
// Drawing over
$black = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 25, 25, 75, 75, $black);
header('Content-Type: image/png');
imagepng($image);

Related

How to make a color transparent in gd lib after merging images?

I am using gd lib to merge several images, but I'm having problems with the transparency. First I merge several images which each have a transparent background (works fine). Then I want to put another picture on top which consists of three parts: one part that I want to keep, a transparent part where the images below should show and one part in a color (e.g. green #00ff00) which is supposed to become transparent as well after merging. The images are pixel images, so I only want #0f0 to become transparent, none other color.
Here is an image of the result of the code.
The first picture shows the merged images ("circle" & "cloud").
The second picture shows the "hat" which is put on top of the merged images.
The third picture shows the result I want to achieve.
The fourth picture is what I actually get.
Whatever I do, I can't seem to find the solution. I'd be grateful for your help!
header("Content-type: image/png");
$img = imagecreatetruecolor(200, 200);
//make an image with transparent background
$transparency = imagecolorallocatealpha($img, 0, 0, 0, 127);
imagefill($img, 0, 0, $transparency);
imagesavealpha($img, true);
$circle = imagecreatefrompng("testcircle.png"); //black circle
$cloud = imagecreatefrompng("testcloud.png"); //brown cloud
$hat = imagecreatefrompng("testhat.png"); //blue hat with green area
imagecopy($img, $circle, 0, 0, 0, 0, 200, 200);
imagealphablending($img,true);
imagecopy($img, $cloud, 0, 0, 0, 0, 200, 200);
imagealphablending($img,true);
$green = imagecolorallocate($hat, 0, 255, 0);
imagecolortransparent($hat, $green);
imagecopy($img, $hat, 0, 0, 0, 0, 200, 200);
imagealphablending($img,true);
/* //With this the green area just keeps being green as in the second picture
$green = imagecolorallocate($img, 0, 255, 0);
imagecolortransparent($img, $green);
imagecopy($img, $hat, 0, 0, 0, 0, 200, 200);
imagealphablending($img,true);
*/
imagepng($img);
imagedestroy($img);
After searching for a long time, I've found the solution for my problem. I hope it will help if someone has the same question as me in future.
$green = imagecolorallocate($img, 0, 255, 0);
imagecopy($img, $hat, 0, 0, 0, 0, 200, 200);
imagecolortransparent($img, $green);
imagefill($img,0,0,imagecolorallocatealpha($img, 0, 0, 0, 127)); //this line does the trick
First of all I define green as a color. Then I copy the "hat" onto the picture and make the color transparent. Then comes the trick about filling the picture and that makes the green area transparent again.
(I found the solution in a german forum).
I noticed that this code only makes the first green area transparent though. If there are two seperated areas (or even more), (at least) one will stay green. So while this is a solution that works for me, there might be one out there that is even better.

"z-index" in php GD

In css, we have a property called "z-index", what is the same in PHP GD and Image Functions to control the "z-index"?
I've been searching but I can't find one, please help.
Thankyou
there nothing existing like z-index in php GD library
but there several ways to overlap image over image or text over image
$redimg = imagecreatetruecolor(100, 100);
$image = imagecreatefrompng('image.png');
// sets background to red
$red = imagecolorallocate($redimg, 255, 0, 0);
imagefill($redimg, 0, 0, $red);
// Merge the red image onto the PNG image
imagecopymerge($image, $redimg, 0, 0, 0, 0, 100, 100, 75);
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
imagedestroy($redimg);
here one example, or let me know, what exactly you trying to do, I will help you
There's more information here.

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);

imagepng and imagegif

I need some help about PHP GD. Here is my piece of code.
header("Content-type: image/gif");
$image = imagecreatetruecolor(550, 20);
imagealphablending($image, false);
$col=imagecolorallocatealpha($image,255,255,255,127);
$black = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image,0,0,550,20,$col);
imagealphablending($image, true);
$font_path = 'font/arial.ttf';
imagettftext($image, 9, 0, 16, 13, $black, $font_path, $lastlisten);
imagesavealpha($image, true);
imagepng($image);
The problem is when I use imagepng, it can show the png just fine like this.
But if I use imagegif instead, it will become this.
I did tried using different header for gif and png. The result for imagegif is still the same.
The question is how do I make in order to display GIF version properly? Thanks you
GIF image supports a maximum of 256 colors. Most importantly, it only supports index transparency: a pixel can be 100% opaque or 100% transparent.
PNG on the other hand supports true (millions of) color images and supports alpha channel transparency. That means a pixel can be 100% opaque, 100% transparent or anything in between.
The PNG image you mentioned probably has its edges partially transparent therefore the browser can easily blend those pixels with the background color giving a smooth effect. PNG is a better choice.
First problem : your characters are ugly: that's because you need to set a palette with less colors when using imagecreatetruecolor.
$image = imagecreatetruecolor(550, 20);
imagetruecolortopalette($image, true, 256);
should solve this problem.
Second problem : there is no transparency.
As you can see on PHP manual,
imagesavealpha() sets the flag to attempt to save full alpha channel
information (as opposed to single-color transparency) when saving PNG
images.
This function does not work with GIF files.
You can use imagecolortransparent instead but this will not be perfect because fonts has anti-aliasing to make their border sweeter.
Here is my code:
<?php
$lastlisten = "test test test test test test";
error_reporting(E_ALL);
header("Content-type: image/gif");
$image = imagecreatetruecolor(550, 20);
imagetruecolortopalette($image, true, 256);
$transparent=imagecolorallocatealpha($image,255,255,255,127);
imagecolortransparent( $image, $transparent);
imagefilledrectangle($image,0,0,550,20,$transparent);
$black = imagecolorallocate($image, 0, 0, 0);
$font_path = dirname(__FILE__) . '/font.ttf';
imagettftext($image, 9, 0, 16, 13, $black, $font_path, $lastlisten);
imagegif($image);
Result here
Hope this helps.

php add a picture onto another

I would like to change the color of an image with php.
if I wanted to make it appear redder applicherei an image on a higher level across an image with a transparent red and more or less high can indicate how the original photo should be red.
I can say gd php functions to create an image of a color (RGBA) and apply it to another image?
thanks :)
You can try using GD's imagecopymerge function, which copies one image to another and supports alpha transparency. Something like this should work:
<?php
$redimg = imagecreatetruecolor(100, 100);
$image = imagecreatefrompng('image.png');
// sets background to red
$red = imagecolorallocate($redimg, 255, 0, 0);
imagefill($redimg, 0, 0, $red);
// Merge the red image onto the PNG image
imagecopymerge($image, $redimg, 0, 0, 0, 0, 100, 100, 75);
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
imagedestroy($redimg);
?>
There's more information here.

Categories