Com afegir marca daigua ràpidament i de forma massiva

afegir marca d'aigua ràpida i de manera massiva

Aquest és el mètode que faig servir actualment per afegir les marques d'aigua o watermarks a les imatges del bloc. Sòl tenir prou fotos per als articles i amb aquest script en bash li afegeixo la marca d'aigua en 2 o 3 segons.

Fa un temps feia servir GIMP per editar-los massivament. Aquesta opció, que vam veure al bloc segueix sent vàlida, però això em sembla molt més ràpid i com dic és el que estic fent servir ara.

Aquest mètode és ideal també per a fotògrafs que han de passar imatges marcades a clients, ja que en pocs segons les tens processades

Això sí, és una solució per a usuaris de Linux, jo estic fent servir Ubuntu. Ara et deixo l'script i una explicació pas a pas perquè no només puguis utilitzar-lo sinó que entenguis el que fa i comencis a aprendre BASH. Són només 8 línies.

Utilitzar ImageMagick l'has d'instal·lar perquè l'script et funcioni. Obre la terminal i escriu

sudo apt install imagemagick

Amb això podrem fer servir les funcions de ImageMagick, retallar, redimensionar, baixar de pes, canviar i format, combinar imatges, etc, etc. Si vols saber-ne més vés a la seva web oficial.

Com funciona

estrena GituHub amb aquest script. Encara he d'aprendre a fer-lo servir bé.

estructura fitxers script watermark

El sistema que he preparat consta de 1 fitxer, 1 imatge i 2 carpetes.

la carpeta photos és on fico les imatges a què vull afegir la marca d'aigua. I A la carpeta sortida és on apareixen ja editades.

watermark-ikkarocom.png és la marca i aigua que faig servir

Arxiu

I finalment hi ha el fitxer .sh watermark.sh que és el que conté el codi a BASH

Si no tens clar què és i com treballar amb els .sh aquí tens on començar Com executar un fitxer .sh

Explicació del codi pas a pas.

Una manera senzilla d'aprendre a programar a BASH és veure exemples de scripts i programes ja fets. Aquest és el codi que faig servir.

#!/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 *

Per facilitar-te la comprensió ho explico per línies.

#!/bin/bash

És el shebang, que es fa servir per indicar l'intèrpret a utilitzar per al codi.

cd photos

Entrem a la carpeta photos, on haurem deixat les fotos a les quals volem afegir la marca daigua. Aquest procés també es podria automatitzar enviant des del mòbil les imatges directament a la carpeta. Però ho deixo per més endavant.

for pic in *; do

Inici del bucle for, on us diem que per a totes les fotos que hi hagi a la carpeta cal executar les instruccions que segueixen

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

És la part de ImageMagick. Li estem dient que a les fotos de la carpeta n'hi afegim una altra a sobre, en aquest cas watermark-ikkarocom.png amb transparència al 90% o 10% segons el vulguis mirar. Ubicada al sud-est de la imatge, és a dir, a baix dreta i amb marges o separació de 40 i 30 px respecte a la imatge de fons.

A més, al nom de les imatges els fica el sufix -marked. Per poder diferenciar-les de les que no hem editat.

Aquí podríem afegir més instruccions i redimensionar la imatge, baixar-li el pes o comprimir-la.

Podeu utilitzar el nom de la marca d'aigua que vulgueu canviant el watermark-ikarocom.png

done

determina on acaba el bucle for

mv *-marked.jpg ../output

Les imatges han quedat a la carpeta photos així que amb aquesta línia li diem que agafi totes les que tinguin aquest sufix -marked.jpg i les moveu a la carpeta output. Fes servir la ruta relativa. Els ../ és per pujar de directori fins on es troba output i aleshores entrar dins.

rm *

Finalment com ja tenim les nostres fotos a output esborrem tots els arxius .jpg que hi hagi a photos.

Millores

Fent l'article m'he adonat de diverses millores.

  • Sempre guardo en format .jpg encara que la imatge d'entrada sigui un .png, això pot ser un problema si la imatge original té transparències.

Deixa un comentari