Sé que esto ha sido cubierto MUCHAS veces, pero sigo intentando diferentes scripts y modificando el que tengo, y I todavía no puedo obtener mi marca de agua PNG-24. transparente en la parte superior de mi imagen principal.PHP - Watermark PNG Transparency/Alpha
Esto es lo que tengo actualmente:
<?
header('content-type: image/jpeg');
$watermark = imagecreatefrompng('watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatefromjpeg($imageURL);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$size = getimagesize($imageURL);
imagealphablending($image, false);
imagesavealpha($image, true);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
?>
acabo de leer otra cuestión de forma y una de las respuestas aconsejado que no va a ser transparente si no agrega estas dos líneas:
imagealphablending($image, false);
imagesavealpha($image, true);
Los agregué y todavía no. Intenté configurar los encabezados y la salida a PNG, pero todavía no tuve suerte. Cargué la marca de agua en mi navegador (en bruto) y definitivamente es transparente, pero no en la imagen. Sin duda, esto no puede ser tan difícil? ¿Alguna idea de lo que estoy haciendo mal?
No incluya capturas de pantalla de texto. – meagar
@meagar: ¿Por qué? ¡Si te molesta tanto, reescríbelo! – TheCarver
Lo hice, pero no debería haber tenido que hacerlo. No texto de captura de pantalla. Es malo para la web, malo para el sitio y malo para sus usuarios. – meagar