Imagemagick преобразовывают с, передискретизируют опцию

Я создаю миниатюры из очень увеличенных изображений и использовал эту команду успешно в течение некоторого времени:

convert FILE -resize "64x" -crop "64x64+0+16" +repage -strip OUTFILE

Я также делаю некоторую другую обработку, которая не относится к вопросу. Я понял, что это не корректирует разрешение вообще, поэтому если я использую изображение на 300 точек на дюйм, оно заканчивает тем, что отобразилось действительно маленький на некоторых устройствах. Я хочу передискретизировать его к 72x72, таким образом, я пробовал этой командой:

convert FILE -resize "64x" -crop "64x64+0+16" +repage -strip -resample 72x72 OUTFILE

И ожидаемый 64x64 отображают на уровне 300 точек на дюйм, которые будут передискретизироваться к 64x64 изображение на уровне 72 точек на дюйм, но вместо этого, я получаю очень забавный размер и плотность.



Вот, "определяют" вывод для исходного и выполненного последующую обработку файла БЕЗ передискретизирования:

coneybeare $ convert "aa.jpg" -crop "64x64+0+16" +repage -strip "aa.png"
coneybeare $ for image in `find . -type f`; do identify $image; identify -verbose $image | egrep "^  Resolution"; done
./aa.jpg JPEG 1130x1695 1130x1695+0+0 8-bit DirectClass 1.492MiB 0.000u 0:00.000
  Resolution: 300x300
./aa.png PNG 64x64 64x64+0+0 8-bit DirectClass 7.46KiB 0.000u 0:00.000
  Resolution: 118.11x118.11

И вот, "определяют вывод для команды С передискретизированием:

coneybeare $ convert "aa.jpg" -crop "64x64+0+16" +repage -strip -resample 72x72 "aa.png"
coneybeare $ for image in `find . -type f`; do identify $image; identify -verbose $image | egrep "^  Resolution"; done
./aa.jpg JPEG 1130x1695 1130x1695+0+0 8-bit DirectClass 1.492MiB 0.000u 0:00.000
  Resolution: 300x300
./aa.png PNG 15x15 15x15+0+0 8-bit DirectClass 901b 0.000u 0:00.000
  Resolution: 28.34x28.34





Так, вопрос: Что я делаю неправильно и как я могу зафиксировать его так, конечный результат 64x64 обрезанное изображение миниатюр на уровне 72 точек на дюйм?

2
задан 18.04.2010, 22:01

1 ответ

Вы смотрели на общий раздел миниатюры сайта Использования ImageMagick? Это довольно хорошо. Примеры там обычно используют thumbnail опция. От Генерируют Миниатюры в целом:

Это не только изменяет размер изображения, но и разделяет любого и весь профиль и информацию о комментарии, которая может присутствовать в исходном изображении JPEG. Также, поскольку это использует "-образец" изменяет размер оператора для начального уменьшения изображения, это довольно быстро, и приводит к хорошим результатам для маленьких миниатюр.

Вы помещаете некоторую границу вокруг этих изображений? Кроме того, существует 'новый' оператор геометрии в IM, ^, флаг закрашенной области:

С IM v6.3.8-3 IM теперь имеет новый флаг опции геометрии '^', который используется для изменения размеров изображения на основе самого маленького подходящего размера. Таким образом, изображение изменено, чтобы полностью заполниться (и даже переполниться) пиксельная данная область.

Таким образом, Вы могли бы попробовать:

преобразуйте ФАЙЛ - миниатюру 64x64^ - центр силы тяжести - степень 64x64+0+16 - разделяет OUTFILE

1
ответ дан 12.12.2019, 00:28

Теги

Похожие вопросы