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é.
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
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.