Marcas de agua en tu web
Las librerías GD son una herramienta primordial para nuestras galerías fotográficas. Con ellas podemos modificar imágenes, reducirlas y en éste caso también podemos incrustarle marcas de agua para evitar que sean usadas por terceras personas sin nuestro permiso.
Os dejo un script de ejemplo en lenguaje PHP que se encargará de tomar todas las imágenes de una carpeta y nos las copie en otra nueva con nuestra marca de agua en cada imagen.
Nuestra tarea consistirá primeramente en crear la imagen que usaremos para nuestras marcas de agua. Debe ser en formato PNG de 24 bits, os recomiendo ponerle fondo transparente y algo de transparencia en la capa que utilicemos, para que se incruste de manera más profesional. Podéis usar tanto Adobe Photoshop o Gimp (para los que prefieran usar software libre).
Una vez que tenemos nuestra imagen (que no debe ser demasiado grande ni demasiado pequeña puesto que debe ser legible pero tampoco queremos que estorbe) la copiamos en la misma carpeta que las imágenes originales.
Ahora echamos un vistazo al siguiente código y personalizamos las rutas y demás variables a nuestro gusto.
Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /var/www/vhosts/bitacoradewebmaster.com/httpdocs/wp-content/plugins/exec-php.php(45) : eval()’d code on line 22
Warning: opendir() [function.opendir]: open_basedir restriction in effect. File(/home/httpd/vhosts/midominio.com/httpdocs/imagenes) is not within the allowed path(s): (/var/www/vhosts/bitacoradewebmaster.com/httpdocs:/tmp) in /var/www/vhosts/bitacoradewebmaster.com/httpdocs/wp-content/plugins/exec-php.php(45) : eval()’d code on line 62
Warning: opendir(/home/httpd/vhosts/midominio.com/httpdocs/imagenes) [function.opendir]: failed to open dir: Operation not permitted in /var/www/vhosts/bitacoradewebmaster.com/httpdocs/wp-content/plugins/exec-php.php(45) : eval()’d code on line 62
Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/vhosts/bitacoradewebmaster.com/httpdocs/wp-content/plugins/exec-php.php(45) : eval()’d code on line 64
Warning: closedir(): supplied argument is not a valid Directory resource in /var/www/vhosts/bitacoradewebmaster.com/httpdocs/wp-content/plugins/exec-php.php(45) : eval()’d code on line 71
>
Si seguimos estos pasos tendremos un resultado parecido a éste fantástico script llamado Oscommerce que aún estoy configurando en PuntoGeriátrico.com. En ella todas las fotos tienen una misma marca de agua, la cual tardé escasos minutos en aplicársela, después de un cambio de planes en el cual a última hora me pidieron que pusiese marcas de agua a todas las imagenes
un duro trabajo si lo hubiesemos hecho todo a mano no?.
Fuente original: Guebs.com
Autor: Aitor Ortuondo.

06.29.2005 a las 9:40 am
Muy buena alternativa con código PHP a la utilización de PhotoWatermark Professional.
07.08.2005 a las 10:48 pm
No crees que seria mas facil utilizar la libreria , para agregar la marca de interactivamente???
07.10.2005 a las 8:05 pm
Ciertamente sería facil usar la librería, suponiendo que en el servidor donde tengas alojada la Web tengas acceso ssh, sin embargo para los que tienen un simple acceso ftp, ésta puede ser una buena opción siempre que lo que vayas buscando sea añadirle marcas de agua a imágenes existentes en la web.
07.10.2005 a las 9:22 pm
Para aquellas personas que deseen una alternativa, les recomiendo ImageMagick, el cual se distribuye bajo la licencia GPL. Es una poderosa herramienta para el tratamiento de imágenes, de hecho, recientemente termine de procesar cerca de 400 fotos para una galería en menos de 5 minutos, el proceso incluyó: Reducción del tamaño de las imágenes, conversión de formato, y finalmente colocarle una marca de agua. Todo el proceso se realizó de manera automatizada y simplemente necesité de una linea de código en el terminal.
Solo una observación respecto a las transparencias en el formato PNG, el navegador que siempre da problemas, si ese que usted ya se imagina, el IE no reconoce dichas transparencias, simplemente el fondo lo coloco negro, asi que en el caso de ser obligatorias las transparencias en los PNG’s recuerden utilizar algunos hacks para que IE interprete de manera correcta las imágenes.
07.11.2005 a las 12:28 am
Yo he probado el ImageMagick para hacer miniaturas, pero hay una cosa que no me termina de convencer: el peso de las imágenes es bastante superior al obtenido usando las librerías GD. Por mucho que aumente la compresión o se ven mal o siguen pesando demasiado las imágenes. Con GD no tengo ese problema
11.18.2005 a las 9:38 pm
He implementado el codigo en una web, pero tengo el problema de que no aplica la marca de agua para todas las imagenes,pense que podria ser que el tamaño del archivo causara problemas pero no es asi, entonces me di cuenta que las imagenes fueron tomadas por diferentes camaras, en mi caso, las que no logro ver son las que se tomaron con una nikon d70, alguna idea de porque no funciona?
EL formato de las fotos (de todas) es jpg, eso estoy seguro.
05.09.2006 a las 11:56 pm
Quizá sea porque esas imágenes estén en modo CMYK en vez de RGB. Yo también he tenido ese mismo problema, así que antes me aseguré que todas las fotos eran en RGB.