Linux ImageMagick - jak udělat vodoznak hromadně (v dávce)
Situace: Používáme linuxovou distribuci, máme povědomí o existenci ImageMagick a adresář, ve kterém je spousta fotografií (obrázků). Na všechny tyto obrázky chceme v dávce vložit textový vodoznak. Jak na to?
Přesuneme se do adresáře "pictures"
V něm spustíme cyklus na všechny soubory *.jpg a na každý umístíme textový vodoznak "SuperUser.cz" do pozice "severozápad" a "jihovýchod". Vodoznak má dvě vrstvy, takže působí jako by byl vystínován. Na závěr je obrázek zmenšen na 900px a uložen v kvalitě 90%.
ODPOVĚĎ
Přesuneme se do adresáře "pictures"
cd /home/user/pictures
V něm spustíme cyklus na všechny soubory *.jpg a na každý umístíme textový vodoznak "SuperUser.cz" do pozice "severozápad" a "jihovýchod". Vodoznak má dvě vrstvy, takže působí jako by byl vystínován. Na závěr je obrázek zmenšen na 900px a uložen v kvalitě 90%.
for file in *.jpg; do \
convert $file -font Uroob -pointsize 40 \
-draw "gravity NorthWest \
fill gray text 0,12 ' SuperUser.cz' \
fill white text 1,11 ' SuperUser.cz' " \
-draw "gravity SouthEast \
fill gray text 0,12 'SuperUser.cz ' \
fill white text 1,11 'SuperUser.cz ' " \
$file; \
convert $file -resize 900 -quality 90 $file; done