Изменение фонового изображения исходного изображения PHP imagecopymerge прозрачно для черного

Мне нужно объединить две фотографии, мой код выглядит так:

$image = imagecreatefromjpeg("images/big.jpg"); $image1 = imagecreatefrompng("small_image/8.png"); $size = getimagesize("small_image/8.png"); imagecopymerge($image, $image1, 400, 30, 0, 0, $size[0], $size[1], 100); header('Content-Type: image/gif'); imagegif($image); imagedestroy($image1); 

frist picture:

введите описание изображения здесь

второе: введите описание изображения здесь

конечный результат не прозрачен

введите описание изображения здесь

Пожалуйста, помогите !!! Спасибо!

новая версия кода:

 $image = imagecreatefromjpeg("images/big.jpg"); $image1 = imagecreatefrompng("small_image/8.png"); $size = getimagesize("small_image/8.png"); $background = imagecolorallocate($image, 0, 0, 0); imagecolortransparent($image, $background); imagealphablending($image1, false); imagesavealpha($image1, true); imagecopymerge($image, $image1, 400, 30, 0, 0, $size[0], $size[1], 100); header('Content-Type: image/gif'); imagegif($image); imagedestroy($image1); 

и результат: введите описание изображения здесь

Solutions Collecting From Web of "Изменение фонового изображения исходного изображения PHP imagecopymerge прозрачно для черного"

Хорошо .. я нашел решение сейчас ..

 $image = imagecreatefromjpeg("images/show01.jpg"); // $image1 = imagecreatefrompng("small_image/1.png");// $image3 = imagecreatefromgif("images/carBg.gif");// $size = getimagesize("small_image/1.png"); $overlay = imagecreatetruecolor(80, 80); $white = imagecolorallocate($overlay, 229, 229, 229); imagefilledrectangle($overlay, 0, 0, 80, 80, $white); imagecolortransparent($overlay,$white); imagecopy($overlay, $image1, (80-$size[0])/2, (80-$size[1])/2, 0, 0, $size[0],$size[1]); imagecopymerge($image3, $overlay, 0, 0, 0, 0, 80, 80, 100); imagecopymerge($image, $image3, 280, 30, 0, 0, 80, 80, 100); header('Content-Type: image/png'); // and finally, output the result imagepng($image); imagedestroy($image);