¿Alguien tiene un script que puede unir dos imágenes PNG?Fusiona dos imágenes PNG con la biblioteca PHP GD
Con las siguientes condiciones:
- Ambas imágenes tienen áreas transparentes
- La segunda imagen debe tener 50% de opacidad (que se superpone sobre la primera imagen)
Esto es lo que traté de hacer, pero sin suerte:
<?php
function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){
$cut = imagecreatetruecolor($src_w, $src_h);
imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);
imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);
imagecopymerge($dst_im, $cut, $dst_x, $dst_y, 0, 0, $src_w, $src_h, $pct);
}
$image1 = imagecreatefrompng('a.png'); //300 x 300
$image2 = imagecreatefrompng('b.png'); //150 x 150
$merged_image = imagecreatetruecolor(300, 300);
imagealphablending($merged_image, false);
imagesavealpha($merged_image, true);
imagecopy($merged_image, $image1, 0, 0, 0, 0, 300, 300);
imagecopymerge_alpha($merged_image, $image2, 0, 0, 0, 0, 150, 150, 50);
header('Content-Type: image/png');
imagepng($merged_image);
?>
Editar:
- primera imagen (izquierda) y el segundo lugar de la imagen (derecha)
- Esto es como debe ser (izquierda) y el resultado de mi código (derecha)
- El resultado de la solución propuesta por dqhendricks
Explicar * pero sin suerte *. ¿Qué produce el código que publicaste? –
¡Bienvenido a Stack Overflow! "No funciona" es * nunca * una buena descripción del error. Describa qué falla, qué mensajes de error recibe, etc. –
La primera imagen se ve transparente, el fondo de la segunda imagen, que debe ser transparente, se vuelve negra (un negro semitransparente). – acoder