Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to merge transparent PNG with image using PHP?

Tags:

The situation is this: I have a small 50x50 pic. I also have a small 50x50 transparent picture which contains a frame for the 50x50 pic, so I basically want to put the transparent png on top of the image and merge those two which would lead to a final third picture that looks something like this: http://img245.imageshack.us/i/50x50n.png

Note: I don't want to do this using HTML only (I achieved this by writing a javascript plugin that put the transparent png on top of the original image).

Thanks.

like image 842
subZero Avatar asked Sep 08 '09 13:09

subZero


1 Answers

You can merge the two images together using the PHP GD2 library.

Example:

<?php  # If you don't know the type of image you are using as your originals.  $image = imagecreatefromstring(file_get_contents($your_original_image));  $frame = imagecreatefromstring(file_get_contents($your_frame_image));   # If you know your originals are of type PNG.  $image = imagecreatefrompng($your_original_image);  $frame = imagecreatefrompng($your_frame_image);   imagecopymerge($image, $frame, 0, 0, 0, 0, 50, 50, 100);   # Save the image to a file  imagepng($image, '/path/to/save/image.png');   # Output straight to the browser.  imagepng($image); ?> 
like image 100
zanbaldwin Avatar answered Sep 29 '22 14:09

zanbaldwin