PHP: ¿Cómo puedo insertar marcas de agua o logos a las imágenes?
De Foros del Web
Bueno aquí está el script, no es difícil solamente ingenio. Se usa 2 imágenes en el script, el logo con extensión PNG (ya que la extensión GIF ya no es soportada en las últimas versiones de GD) he optado por esta extensión ya que soporta transparencias que es lo mejor para colocar una marca de agua. Y la otra imagen es JPG puede ser cualquier extensión es indiferente. El script esta comentado para que sea lo más 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); ?>
Aclaración: Creo que es claro que el logo tiene que ser menor en dimensiones que a la imagen que se le pondrá, porque sino no se comportará 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
--Dariodario 02 Jul 2005
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
