Jump to content

Archived

This topic is now archived and is closed to further replies.

dshallenberger

GD / transparent png question

Recommended Posts

I'm trying to combine 2 images, based on what the user chooses. There are 4 backgrounds, and 4 characters, and the user can choose which bkg and which character they want. I have a png of each of these 8 graphics. When the user chooses their combo, I have a working script that combines those two images together, but the alpha of the top png isn't coming through. It just put black pixels anywhere there was alpha other than 0 or 100.

I ended up just treating it like a transparent gif and selecting a color to be transparent, and it works great, but I'm getting jagged edges, and I would love the soft shadows I can get with an alpha png.

Here's my current php script:
[code]<?
header ("Content-type: image/png");
$background = imagecreatefrompng($_POST['bkg']);
$overlay = imagecreatefrompng($_POST['char']);
imagecolortransparent($overlay,imagecolorat($overlay,0,0));
$insert_x = imagesx($overlay);
$insert_y = imagesy($overlay);
imagecopymerge($background,$overlay,0,0,0,0,$insert_x,$insert_y,100);
imagepng($background);
?>[/code]

I've seen transparency functions within gd that seem to allow use of the alpha of the png, but I can't get them to work with imagecopymerge. I'm sure it's me doing something wrong, but I don't know what. I hope my explanation above is clear.

Anyone here have an idea of how I can accomplish this.

Thanks,
Dan

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.