remove the function
imagejpeg($image);
and add
imagealphablending($image, false);
imagesavealpha($image,true);
imagepng($image);
Question
I am copying one image and placing over second image, second image is transparent in background. While copying background of second image is converted to black. Even if i display image just after initializing image from file, it gives me black background. Please help..
<?php
header('Content-type:image/png');
$watermark = imagecreatefrompng('eye.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefrompng('img.png');
$size = getimagesize('img.png');
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopyresampled($image, $watermark, 5, 5, 0,0,55 ,55, $watermark_width, $watermark_height);
//imagecopymerge($image, $watermark, 5, 5, 0, 0, $watermark_width, $watermark_height, 50);
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
?>
Solution
remove the function
imagejpeg($image);
and add
imagealphablending($image, false);
imagesavealpha($image,true);
imagepng($image);