Inicio Apuntes FPApuntes DAW Añadir una marca de agua a una imagen con php

Añadir una marca de agua a una imagen con php

Publicado por entreunosyceros
Publicado el: Última actualización:

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

marca de aguaEl post que voy a dejar hoy viene a cuento de un comentario que me han escrito esta tarde (creo recordar). En el un usuario me pedía alguna manera de añadir una marca de agua a una imagen. Esto es algo relativamente sencillo pero como siempre a la gente no le gusta buscar, y a mi me gusta escribir.

El caso es que buscando un poco me he encontrado una función de php que hará que un marca de agua consigamos fusionarla con la imagen que queramos. La función en cuestión es imagecopymerge y se puede consultar su funcionalidad en php.net. Además utilizaremos la librería GD de php. El ejemplo con el que voy a ilustrar el post lo hace con una sola imagen. Pensando un poco cualquiera podrá añadir esta funcionalidad a su página web y hacer que todas las imágenes que en ella muestre cuenten con una marca de agua. En este ejemplo lo hago mostrando un copyright en la parte inferior derecha. Cambiar la posición del texto o añadir una imagen es igual de sencillo.

Bueno, para el caso vamos al turrón del asunto. Quien quiera ver el ejemplo funcionando podrá consultar el resultado del código que a continuación muestro en el siguiente enlace.

Añadir una marca de agua a una imagen con php

<?php
// Primero cargamos la imagen sobre la que aplicaremos la marca de agua
$im = imagecreatefromjpeg('404.jpg');

// Ahora creamos la marca de agua desde GD
$estampa = imagecreatetruecolor(210, 70);
imagefilledrectangle($estampa, 0, 0, 210, 69, 0x0000FF);
imagefilledrectangle($estampa, 9, 9, 200, 60, 0xFFFFFF);
$im = imagecreatefromjpeg('404.jpg');
imagestring($estampa, 5, 20, 20, 'entreunosyceros.net', 0xff0000);
imagestring($estampa, 3, 20, 40, '(c) 2018', 0x198900);

// Establecemos los márgenes para la marca de agua y obtenemos el alto/ancho de la imagen de la misma
$margen_dcho = 10;
$margen_inf = 10;
$sx = imagesx($estampa);
$sy = imagesy($estampa);

// Fusionamos la estampa con nuestra imagen con una opacidad del 40%
imagecopymerge($im, $estampa, imagesx($im) - $sx - $margen_dcho, imagesy($im) - $sy - $margen_inf, 0, 0, imagesx($estampa), imagesy($estampa), 40);

// Guardamos la imagen en un archivo, en una variable para mostrar y liberamos la memoria
imagepng($im, 'imagen_con_marca_de_agua.png');
$imagengenerada='imagen_con_marca_de_agua.png';
imagedestroy($im);

echo "IMAGEN GENERADA CON MARCA DE AGUA";
?>
<div>
<img src="<?php echo $imagengenerada;?>" alt="<?php echo $imagengenerada;?>"/>
</div>

El código que se muestra viene con sus correspondientes comentarios. Como se puede leer en el se genera una nueva imagen con la marca de agua, para no modificar la imagen original. En caso de utilizar este código con todas las imágenes de una web, hay que tener en cuenta la cantidad de espacio que necesitaremos.

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Resumen de privacidad
cookies entreunosyceros

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible.

La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudarnos a comprender qué secciones de la web encuentras más interesantes y útiles.

Nunca almacenamos información personal de ningún tipo.

Tienes toda la información sobre privacidad, derechos legales y cookies en nuestra página sobre la política de privacidad o en la página sobre nuestra política de cookies.

Cookies necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza las siguientes cookies adicionales:

- Mailchimp: Recordar si ya estás suscrito al boletín de noticias y sino ofrecértelo al salir.

- Accesibilidad: Para saber tus ajustes de accesibilidad en cada visita.

- Comentarios: Saber si has leído y aceptado nuestra política de privacidad a la hora de dejar un comentario en la web.

- Google Analytics: Localización para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

- Goggle Adsense: Anuncios personalizados según tu geolocalización y preferencias.

Dejar estas cookies activadas nos permite mejorar nuestra web.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.