Watermark images with file name

เช้าวันนี้ (2 พฤศจิกายน 2559) มาพร้อมกับงานด่วน
– Watermark ไฟล์รูปด้วยชื่อไฟล์ (ต้นฉบับมาแบบนี้ -*-)
– ไฟล์รูปมีคร่าว ๆ ก็เกือบ 100 รูป ความขี้เกียจเข้าครอบงำโดยพลัน
selection_030

selection_031

#!/bin/bash
#
# NAME:		WatermarkFilename	
# AUTHOR:	MF
# A script to add a watermark and overwrite all images in a directory.


savedir=".originals"
mkdir -p $savedir

for image in *png *jpg *jpeg *gif
do
	if [ -s $image ] ; then   # non-zero file size

		width=$(identify -format %w $image)
		filename=$(basename "$image")
		fname="${filename%.*}"
		ext="${filename##*.}"
		fullpath="$(dirname $(readlink -f "${image}"))/${image##*/}"

		convert -background '#cccccc' \
		-fill white -gravity center \
		-font loma -pointsize 30 -size ${width}x60 caption:$fname \
		$image +swap -gravity south -composite new-$image
		mv $image $savedir
		mv new-$image $image
		echo "Watermarked $image successfully"		
	fi
done

ป.ล.
– เสียเวลาไปกับการตรวจสอบข้อมูลให้ตรงกับชื่อไฟล์ซะมากกว่า
– ไฟล์ตัวอย่างจาก https://unsplash.com/
– ใช้แพคเกจ imagemagick