Soul's Buyer
С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740
|
Добавлено: 07/08/12 в 16:01 |
Сабж такой - надо из оригинала картинки, независимо от пропорции оригинала, сделать тумбу размером 150х200 (ну вырезать по центру, как режет любой ротатор на автомате) и применить к ней после ресайза вот такое: -filter Blackman -modulate 110,102,100 -sharpen 1x1 -enhance
Что надо передать IM чтобы он скропил до пропорции нужной, сресайзил, применил строчку эту, параметры, и сохранил с качеством 85 ?
Типа там convert 1.jpg -crop бла-бла-бла ...
Сделать хочется именно IM т.к. софтина на дельфях, не php, GD не предлагать
Подскажите, а то заёбся читать мануал ImageMagick'а
p.s. Вопрос именно как скропить, сресайзить через IM, как это приморозить к делфям понятно
|
|
|
|
Криптопохуист
С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019
|
Добавлено: 07/08/12 в 16:25 |
Там сначала надо высчитать пропорции кратные 150х200 и кропнуть до них с нужным параметром -gravity center, чтобы потом ресайз через -thumbnail не исказил изображение.
То есть, предварительно надо узнать исходный размер. Потом высчитать x,y и -crop x,y -gravity center -thumbnail 150,200 (и дальше че там)
Пишу по памяти, мог ошибиться в деталях. Но я делал так
|
|
|
|
Soul's Buyer
С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740
|
Добавлено: 07/08/12 в 17:01 |
А попроще никак ?
Вот у типа бложек http://valokuva.org/?p=33 вроде получается лихо и просто - но я нихера не вижу таких команд в IM
|
|
|
|
С нами с 13.08.07
Сообщения: 1089
Рейтинг: 1522
|
Добавлено: 07/08/12 в 19:28 |
|
|
Адалт умер, а мы всего лишь черви, доедающие его труп.
Angry Bull, 2018.
|
8
|
|
|
Soul's Buyer
С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740
|
Добавлено: 07/08/12 в 19:37 |
Да, затупил ... Так что получается, самый быстрый путь это получить ширину и высоту исходника, сравнить и после этого делать два ресайза (или 1 ресайз и 1 кроп), где первый ресайз только ширины или только высоты (в зависимости от того, что больше у исходника) ? Или есть методы побыстрее и в меньше шагов ?
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 07/08/12 в 20:35 |
1. получаешь физический размер картинки
2. берешь размер тумбы и в пропорции накладываешь на размер из пункта 1
3. режешь по полученным координатам, указывая размер тумбы на выходе и добавляя фильтры.
т.е. все за одну операцию делается.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
7
|
|
|
С нами с 08.02.03
Сообщения: 10564
Рейтинг: 5962
|
Добавлено: 07/08/12 в 20:46 |
Woland: сначала кроп правильный, а потом ресайз
|
|
|
|
С нами с 06.10.06
Сообщения: 964
Рейтинг: 742
|
Добавлено: 13/08/12 в 08:02 |
тоже надо было такое сделать в свое время, алгоритм следующий (шелл скрипт)
запускать с параметрами
./resize.sh original.jpg 150 200 thumb.jpg
#!/bin/sh
# $1 - имя исходной фотки
# $2 - требуемая ширина тумбы
# $3 - требуемая высота тумбы
# $4 - имя тумбы
w=`identify $1 | cut -f 3 -d " "|cut -f 1 -d "x"` # узнаем ширину фотки
h=`identify $1 | cut -f 3 -d " "|cut -f 2 -d "x"` # узнаем высоту фотки
r1=`echo $w / $2 | bc -l` # находим разницу между шириной фотки и требуемой шириной тумбы
r2=`echo $h / $3 | bc -l` # находим разницу между высотой фотки и требуемой высотой тумбы
res=`echo "$r2 > $r1" | bc -l`
if [ $res -eq 1 ]; then # Если разница высот больше то делаем ресайз по ширине
convert -resize $2"x" -gravity center -crop $2"x"$3+0+0 $1 $4
else # и наоборот, если разница шырин больше то делаем ресайз по высоте
convert -resize x$3 -gravity center -crop $2"x"$3+0+0 $1 $4
fi
|
|
MyPublicDreams.com - Exclusive public paysite.
|
-2
|
|
|
С нами с 20.02.06
Сообщения: 248
Рейтинг: 366
|
Добавлено: 13/08/12 в 17:38 |
Блин, что-то у вас всё так сложно...
Делается всё одной командой: сначала ресайзится до нужного размера с сохранением пропорций, а потом по бокам (или сверху-снизу) отрезается лишнее. и не надо знать никаких исходных размеров
Код: | convert source.jpg -resize "150x200^" -gravity center -extent 150x200 -filter Blackman -modulate 110,102,100 -sharpen 1x1 -enhance dest.jpg |
|
|
|
|
С нами с 06.10.06
Сообщения: 964
Рейтинг: 742
|
Добавлено: 14/08/12 в 14:51 |
Есть куча вариантов как это сделать, то был только один из них
|
|
MyPublicDreams.com - Exclusive public paysite.
|
0
|
|
|