вторник, 29 июня 2010 г.

Ресайз картинок в квадрат с пом. ImageMagick

Ресайз картинок а-ля квадратный thumbnail в 1 строку с помощью ImageMagick:

1 файл:

convert original.jpg -thumbnail 480x -resize 'x480<' -resize 50% -gravity center -crop 160x160+0+0 square_thumb.jpg



Для текущего каталога:

mkdir ./preview 2>/dev/null
for fn in `ls ./*.jpg`;do
f=`basename $fn`
convert ./$f -thumbnail 480x -resize 'x480<' -resize 50% -gravity center -crop 160x160+0+0 ./preview/$f
done


Как подобрать размеры.
Например нужен размер 160px
так как размеры фото обычно в пропорции 2:3 или 4:5, значит кроп делать нужно из картинки большая сторона которой равна 160*(3/2)=240.
то есть возможен вариант

convert original.jpg -thumbnail 240x -resize 'x240<' -gravity center -crop 160x160+0+0 square_thumb.jpg


но с

-resize 50%

превьюшка получается более резкой (почему то). Поэтому берем 480.

Итого: 160*(3/2)*2=480.