Создание “полароидных” фотографий с помощью ImageMagick

Для создания «полароидной» фотографии нам понадобится графический пакет ImageMagick. К фотографии будет добавлена рамка.

Команда такая:


$ convert '/home/den/photo1.jpg' -size 1x48 xc:white -background white -append -gravity south -bordercolor white -border 15 '/home/den/photo2.jpg'

Получится такое изображение

 

А так добавляем надпись:

$ convert '/home/den/photo1.jpg' -size 1x48 xc:white -background white  -pointsize 20 -append -gravity south -annotate 0, 'Котэ'  -bordercolor white -border 15 '/home/den/photo2.jpg'
 

Если фотографий много, нужно для удобства воспользоваться скриптом. Который кроме добавления рамки и надписи может поворачивать и уменьшать фото, менять размер и цвет рамки.

Дополнение

Вариант скрипта который закругляет углы у фотографии

#!/bin/bash
# Скрипт добавляет рамку к фото наподобие "полароидной", закругляет углы у фотографии, но не у рамки. Также может уменьшать и поворачивать фото, менять размер и цвет рамки. Скрипт нужно запустить в каталоге с фотографиями.
# Copyleft ? 2011 by Denfromengl http://denfromengl.ru .
 
# Вначале в текущем каталоге создаётся подкаталог polaroid, куда сохранятся готовые фото.
 mkdir polaroid ;
 
# Здесь будет надпись под фото, если с пробелом, тогда взять в кавычки. Если оставить пустым, фото будет без надписи.
 WRITE='Котэ'
 
# Здесь задаём шрифт надписи (путь к файлу шрифта). Если оставить пустым шрифт будет задан по умолчанию.
 FONT=/usr/share/fonts/truetype/freefont/FreeSerifBoldItalic.ttf
# Высота шрифта
 FONTSIZE=20
 
# Размер боковой и верхней рамки
 WIDTH=15
# Размер нижней рамки
 WIDTH2=48
# Цвет рамки
 BORDERCOLOR=white
 
# Повернуть изображение (числа в градусах). Если спереди числа знак - , повернётся в другую сторону. Если стоит 0 (ноль),то не поворачивается.
 ROTATE=0
 
# Здесь можно задать размер изображения (уменьшает пропорционально).
 SIZE=600x600
# Если не нужно менять размер тогда закомментируйте нижнюю строку.
 RESIZE="-quality 90 -resize $SIZE"
 
# Формат фотографий
 EX=jpg
#############################################################################
 
 EXT=pNg
  mogrify -format $EXT *.$EX ;
 
 for FILE in *.$EXT ; do
  convert $FILE -alpha set -virtual-pixel transparent -channel A -blur 0x8  -threshold 50% +channel $FILE ;
 done
 
 for FILE in *.$EXT ; do
  convert "$FILE" $RESIZE -size 1x"$WIDTH2" xc:$BORDERCOLOR -background $BORDERCOLOR \
 -font "$FONT" -pointsize "$FONTSIZE" \
 -append -gravity South -annotate 0, "$WRITE" \
 -bordercolor $BORDERCOLOR -border $WIDTH -background none \
 -rotate $ROTATE "polaroid/${FILE%$EXT}$EXT" ;
 done
  rm -rf *.$EXT
  cd ./polaroid
 
 for FILE in *.$EXT ; do
  mogrify -format $EX $FILE  ; # convert png to jpg
 done
  rm -rf *.$EXT
 exit 0
 

Вы можете отслеживать комментарии к этой записи с помощью RSS 2.0. Вы можете оставить комментарий, или использовать trackback с вашего сайта.

Добавить комментарий

XHTML: Вы можете использовать следующие HTML-тэги <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>