A bash script to watermark all the images in a folder (ubuntu, imagemagick, svg)
by Alessino • 13 gennaio 2012 • tutorial • 3 Comments
Hello, this time something a bit “nerdy”, i need a script to watermark a batch of images, prior to upload them on Flickr, but all the scripts i’ve found, using ImageMagick, uses a fixed width image and watermark.
My idea is to automatically resize the watermark to about 50% the width of the image and the apply it.
This simple script just browse all the files in a folder, with a specific extension (ie *.jpeg, *.JPG, etc) and first read the width of the image, then resize the watermark to the correct size (50%) and then apply it, saving the new image with the same name but in a subfolder.
Please note, to work this scripts needs that you’ve installed ImageMagick and optionally Zenity and was tested with Ubuntu 11.04.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#Address of the watermark file WATERMARK="url_to_your_watermark_file.svg" # Check if the directory "watermarked" exists or create it. if [ ! -e "watermarked" ] then mkdir watermarked fi #loop inside all the images in folder for image in *.jpg *.JPG *.jpeg *.JPEG *.png *.PNG do if [ ! -e "$image" ] # Check if file exists. then continue fi #Retrieve size of the image and divide the lenght by 2 size=`identify -format %[fx:w/2] $image` #Apply the watermark and create a new image in the "watermarked" subfolder composite -gravity southeast -background none \( $WATERMARK -geometry ${size} \) ${image} watermarked/${image} done #If you have installed zenity, a message will popup when the process is complete zenity --info --title "Ultramini Watermarker!" --text "Process Complete!" |
If you put this script in your home_folder/.gnome2/nautilus_scripts then you can access it just right-clicking inside the folder with your images and choosing the script in the “scripts” menu

Hey, great script but how about a little change: if the image is landscape apply watermark landscape.png and if image is portrait apply portrait.png?
Is this possible? How would you do it?
Thanks,
Alex
Hello Alex! Maybe i can try to think about it ASAP.
Greetings,
Alessio
Pingback: Inserire un watermark con ImageMagick | BashScript