Мне нужно объединить две фотографии, мой код выглядит так:
$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);
и результат:
Хорошо .. я нашел решение сейчас ..
$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);