За публикуване в Мрежата обикновено не се налага снимките да са с изключително качество и максимален размер. От друга страна е добре да ги защитим с воден знак, тъй като не са единични случаите на „заимстване“ без разрешение.
- Подготвяме в Gimp изображение с прозрачен фон, което ще бъде използвано за воден знак. Моят е с параметри:
Image Type: png (The PNG image format)
Width: 640 pixels
Height: 400 pixels
- Инсталираме пакета ImageMagick
- Използваме командата composite:
composite -dissolve 50% -gravity center -quality 100 \( watermark.png -resize 150% \) \( photo.jpg -resize 50% \) new-image.jpg
където:
-dissolve 50%: прозрачност на водния знак;
-gravity center: основното изображение и водния знак ще бъдат подравнени централно
-quality 100: качество на компресията на съставното изображение
watermark.png -resize 150%: изображение на водния знак и мащаб
photo.jpg -resize 50%: оригинално изображение и мащаб
new-image.jpg: композитно изображение
- Създаваме директория ~/bin, в която ще бъде скрипта, който ще обработва изображенията.
- В любимия ни текстови редактор въвеждаме следния скрипт:
#!/bin/bash
###########################################
# NAME: watermark
# AUTHOR: © angie_bg (angiebg.blogspot.com), 2014
# LICENSE: Creative Commons Attribution - Share Alike 3.0 http://creativecommons.org/licenses/by-sa/3.0/
# You are free to use and/or modify this script. If you choose to distribute this script, with or
# without changes, you must attribute credit to the author listed above.
# REQUIRES: ImageMagick, coreutils
# VERSION: 1.0
# DESCRIPTION: A script to add a watermark to all images in a directory.
# Original images will be retained and new watermarked images will be created.
#
###########################################
# инициализиране на променливите
# път към изображението - воден знак
wm=$HOME/bin/Watermark.png
# мащаб на изображението - воден знак
scale=150
# максимални размери на новото изображение
portrait=800
landscape=1200
# проверка дали директорията, в която ще се съдържат обработените снимки, съществува
if [ ! -d watermarked ]
then
mkdir watermarked
fi
# обработка на всички снимки в текущата директория
file -i * | grep image | awk -F':' '{ print $1 }' | while read image
do
echo Обработвам $image …
# определяне на мащаба на композитното изображение
height=$(identify $image | cut -d\ -f3 | cut -dx -f1)
width=$(identify $image | cut -d\ -f3 | cut -dx -f2)
if (( $height > $width ))
then
sizescale="$(echo $portrait / $width \* 100| bc -l | cut -d. -f1)"
else
sizescale="$(echo $landscape / $width \* 100| bc -l | cut -d. -f1)"
fi
name=`echo $image | cut -f1 -d.`
ext=`echo $image | cut -f2 -d.`
composite -dissolve 40% -gravity center -quality 80 \( $wm -resize $scale% \) \( $image -resize $sizescale% \) "${name}_wm.${ext}"
mv "${name}_wm.${ext}" watermarked/"${name}.${ext}"
done
exit 0
- Правим скрипта изпълним:
$ chmod +x watermark
Сега е достатъчно да извикаме скрипта от произволна директория, в която се намират нашите снимки. Всички обработени изображения се намират в директория watermarked, поддиректория на текущата.
Можем да направим връзка към скрипта и да я поставим в .gnome2/nautilus-scripts, подпапка на домашната ни директория. Сега, след чукване с десен клавиш от Nautilus в папката, в която се намират снимките ни, на трета позиция се появява scripts > watermark. Това ни позволява да ползваме скрипта в графична среда, а не конзолно.
Можем да направим връзка към скрипта и да я поставим в .gnome2/nautilus-scripts, подпапка на домашната ни директория. Сега, след чукване с десен клавиш от Nautilus в папката, в която се намират снимките ни, на трета позиция се появява scripts > watermark. Това ни позволява да ползваме скрипта в графична среда, а не конзолно.
Скриптът няма индикатор за изпълнението и е доста неприятно да се следи колко са обработените във watermarked снимки. Затова можем да добавим още един ред като предпоследен (преди exit 0):
play -v0.3 $HOME/bin/8_Jason_Derulo_Trumpets.wav
Сега след завършване на обработката се изпълнява звуков сигнал, в моят случай това е8_Jason_Derulo_Trumpets.wav, който е в същата директория, където е и скрипта. Параметърът -v0.3 определя силата на звука (30%), като това трябва да се определи индивидуално. За да може да се изпълни командата play, трябва да бъде инсталиран пакетът sox.
Източници:
Коментари
Публикуване на коментар