Tema: Imagenes
Pregunta: ¿Como puedo insertar marcas de agua o logos a las imagenes?
Respuesta:
Bueno aqui esta el script, no es dificil solamente ingenio. Se usa 2 imagenes en el script, el logo con extención PNG (ya que la extención GIF ya no es soportada en las ultimas verciones de GD) he optado por por esta extención ya que soporta transparencias que es lo mejor para colocar una marca de agua. Y la otra imagen es JPG puede ser cualquier extención es indiferente. El script esta comentado para que sea lo mas claro y entendible.
Código PHP:
<?php
// Esta imagen es el logo que se pondra.
$imagen_logo = imagecreatefrompng("logo.png");
// Defino ancho, alto del logo.
$ancho_logo = imagesx($imagen_logo);
$alto_logo = imagesy($imagen_logo);
// Creo la imagen a cual se le pondra el logo.
$imagen_dest = imagecreatefromjpeg("prueba.jpg");
// Defino ancho, alto de la imagen que se le colocara el logo.
$ancho_dest = imagesx($imagen_dest);
$alto_dest = imagesy($imagen_dest);
// Defino la posicion donde se mostrara el logo dejando
// 10 pixeles de espacio. Se mostrara en la parte
// inferior derecho.
$ancho_muestra = ($ancho_dest - $ancho_logo) - 10;
$alto_muestra = ($alto_dest - $alto_logo) - 10;
//Envio la cabecera para mostrar la imagen.
header("Content-type: image/jpeg");
// Sobre pongo el logo a la imagen.
imagecopyresized($imagen_dest,$imagen_logo,$ancho_muestra,$alto_muestra,0,0,$ancho_logo,$alto_logo,$ancho_logo,$alto_logo);
// Guardo la imagen que ya tiene el logo.
imagejpeg($imagen_dest,"prueba.jpg",75);
// Muestro la imagen.
imagejpeg($imagen_dest,"",75);
// Destruyo las imagenes.
imagedestroy($imagen_dest);
imagedestroy($imagen_logo);
?>
Aclaracion: Creo que es claro que el logo tiene que ser menor en dimenciones que a la imagen que se le pondra, porque sino no se comportara como se desea. Lo aclaro por es un error darlo por echo.
Para los que no sepan:
http://ar2.php.net/manual/es/functio...opyresized.php