Como añadir marca de agua rápidamente y de forma masiva

añadir marca de agua rápida y de forma masiva

Este es el método que uso actualmente para añadir las marcas de agua o watermarks a las imágenes del blog. Suelo tener bastantes fotos para los artículos y con este script en bash le añado la marca de agua en 2 o 3 segundos.

Hace un tiempo usaba GIMP para editarlos masivamente. Esta opción, que vimos en el blog sigue siendo válida, pero esto me parece mucho más rápido y como digo es lo que estoy utilizando ahora.

Este método es ideal también para fotógrafos que tienen que pasar imágenes marcadas a clientes, ya que en pocos segundos las tienes procesadas

Eso sí, es una solución para usuarios de Linux, yo estoy utilizando Ubuntu. Ahora te dejo el script y una explicación paso a paso para que no solo peudas utilizarlo sino que entiendas lo que hace y empieces a aprender BASH. Son tan solo 8 líneas.

Uso ImageMagick tienes que instalarlo para que el script te funcione. Abre la terminal y escribe

sudo apt install imagemagick

Con esto podremos usar las funciones de de ImageMagick, recortar, redimensionar, bajar de peso, cambiar e formato, combinar imágenes, etc, etc. Si squieres saber más ve a su web oficial.

Cómo funciona

Estreno GituHub con este script. Aún tengo que aprender a usarlo bien.

estructura archivos script watermark

El sistema que he preparado consta de 1 archivo, 1 imagen y 2 carpetas.

La carpeta photos es donde meto las imágenes a las que quiero añadir la marca de agua. Y En la carpeta output es donde aparecen ya editadas.

watermark-ikkarocom.png es la marca e agua que uso

archivo

Y por último está el archivo .sh watermark.sh que es el que contiene el código en BASH

Si no tienes claro qué es y como trabajar con los .sh aquí tienes dónde comenzar Cómo ejecutar un archivo .sh

Explicación del código paso a paso.

Una forma sencilla de aprender a programar en BASH es viendo ejemplos de scripts y programas ya hechos. Este es el código que uso.

#!/bin/bash

cd photos
for pic in *; do
    composite -dissolve 90% -gravity southeast -geometry +40+30 ../watermark-ikkarocom.png $pic ${pic//.jpg}-marked.jpg
done
mv *-marked.jpg ../output
rm *

Para facilitarte la comprensión lo explico por líneas.

#!/bin/bash

Es el shebang, que se usa para indicar el intérprete a utilizar para el código.

cd photos

Entramos en la carpeta photos, dónde habremos dejado las fotos a las que queremos añadir la marca de agua. Este proceso también podría automatizarse de enviando desde el móvil las imágenes directamente a la carpeta. Pero lo dejo para más adelante.

for pic in *; do

Inicio del bucle for, donde le decimos que para todas las fotos que haya en la carpeta hay que ejecutar las instrucciones que siguen

composite -dissolve 90% -gravity southeast -geometry +40+30 ../watermark-ikkarocom.png $pic ${pic//.jpg}-marked.jpg

Es la parte de ImageMagick. Le estamos diciendo que a las fotos de la carpeta le añadimos otra encima, en este caso «watermark-ikkarocom.png» con transparencia al 90% o 10% según quieras mirarlo. Ubicada en el sureste de la imagen, es decir , abajo derecha y con márgenes o separación de 40 y 30 px respecto a la imagen de fondo.

Además al nombre de las imágenes les mete el sufijo -marked. Para poder diferenciarlas de las que no hemos editado.

Aquí podríamos añadir más instrucciones y redimensionar la imagen, bajarle el peso o comprimirla.

Puedes usar el nombre de la marca de agua que quieras cambiando el watermark-ikarocom.png

done

determina donde acaba el bucle for

mv *-marked.jpg ../output

Las imágenes han quedado en la carpeta photos así que con esta línea le decimos que coja todas las que tengan ese sufijo -marked.jpg y las mueva a la carpeta output. Usa la ruta relativa. Los ../ es para subir de directorio hasta donde se encuentra output y entonces entrar dentro.

rm *

Por último como ya tenemos nuestras fotos en output borramos todos los archivos .jpg que haya en photos.

Mejoras

Haciendo el artículo me he dado cuenta de varias mejoras.

  • Siempre guardo en formato .jpg aunque la imagen de entrada sea un .png, esto puede ser un problema si la imagen original tiene transparencias.

Si eres una persona inquieta como nosotros y quieres colaborar en el mantenimiento y mejora del proyecto puedes hacer una donación. Todo el dinero irá destinado a comprar libros y materiales para experimentar y hacer tutoriales

Deja un comentario