Несколько переработанная и переведённая моя статья с Хабра.
Пролог
Люди, публикующие изображения в Интернете, наверняка задумывались о том, чтобы хоть как-то обозначить своё авторство.
Один из самых очевидных способов — добавлять на изображения надпись с указанием вашего веб-сайта, имени, копирайта или копилефта. Для этого домохозяйка откроет любимый графический редактор, выберет инструмент «Текст» и напишет красивыми буквами послание будущим поколениям.
Однако если изображений много, процесс становится весьма нудным. А мы, поэты компиляции и скульпторы кода,— творческие личности, ужасно не любим рутины.
Вторая рутинная операция фотографа-блогера-графомана — загрузка изображений на уютный хостинг.
Для автоматизации всего этого давно придумано множество инструментов под все мыслимые операционные системы. Но у всех этих инструментов есть одна проблема: они делают это так, как их создателю представлялось правильным, и любые отклонения вновь приводят к уйме ручной работы.
Для реализации вышеперечисленных задач я написал простой скрипт, который легко подстраивается под новые неожиданные нужды.
Как пользоваться
Скрипт (назовём его picasa-upload
) работает на bash
и вызывается следующим образом:
picasa-upload [options] picture_dir [album_name]
Здесь:
picture_dir
— каталог с изображениями. Скрипт найдёт все изображения с расширениями .jpg и .png, в том числе и во вложенных каталогах.album_name
— наименование фотоальбома Picasa Web Albums. Обязателен, если не указано-U
.options
— любое сочетание следующих опций:-D
— не удалять файл с надписанным изображением.-R
— не уменьшать изображение до предопределённого размера (полезно, например, для панорам).-U
— не загружать изображения в Picasa (например, если вы просто хотите надписать изображения, перед тем, как отдать кому-то). Автоматически подразумевает-D
.-s
— использовать «маленькую» версию надписи (в случае надписывания небольших изображений).
Например:
picasa-upload -DRs "/home/vassily/Pictures/Holiday 2011" "Holiday 2011"
В самом начале скрипта задаются константы: максимальный размер изображения, пути к обычной и «маленькой» надписи и наименование аккаунта в Picasa Web Albums.
Надпись имеет смысл сделать в PNG с прозрачным фоном. Скрипт накладывает её с opacity 90% в правый нижний угол. Всё это можно просто изменить параметрами, указанными для composite
.
Требования
- Необходимы Linux и
bash
. - Необходимо наличие
ImageMagick
(sudo apt-get install imagemagick
, или как у вас там это делается). - Необходима установленная googlecl.
getopt
должен поддерживать параметры с пробелами. Иными словами,getopt -T; echo $?
должно вывести ровно 4. Ни больше, ни меньше.
Комментарии