Выполнить изменение размера и заполнить холст, используя Mogrify - PullRequest
4 голосов
/ 16 марта 2011

На сайте imagemagick есть демоверсия на этой странице: http://www.imagemagick.org/Usage/resize/#resize

Я хочу выполнить действие в этом примере:

convert logo: -resize 80x80\> \
          -size 80x80 xc:blue +swap -gravity center  -composite \
          space_resize.jpg

Но для большого количества файлов.Я думаю, что правильный инструмент - mogrify, но он не знает + swap или xc: синие флаги.

Совет?

Ответы [ 3 ]

13 голосов
/ 22 апреля 2011

Мне удалось выполнить вышеизложенное с помощью следующего:

mogrify -resize 300x300 *.jpg
mogrify -extent 300x300 -gravity Center -fill white *.jpg

Это сделает наибольшее измерение изображений до 300 пикселей. Затем он заполнит холст на более коротком измерении до 300 пикселей и заполнит пустое пространство белым.

2 голосов
/ 16 сентября 2013

Для меня ваше решение просто отсекает часть 300x300 из моего большого изображения.

Следующая команда работает правильно, добавляя пробел вокруг изображения:

mogrify -extent 640x640 -gravity Center -fill white *.jpg[640x640]
1 голос
/ 11 ноября 2013

для расширения разрешения @ akoumjian, я просто предлагаю использовать

-transparent white

параметр, чтобы получить прозрачное все, что было белым на изображении. Отлично подходит для изготовления прозрачных PNG

...