ImageMagick - изменить размер изображения на квадрат - PullRequest
9 голосов
/ 25 января 2010

Я только начал работать с ImageMagick. В настоящее время я пытаюсь преобразовать изображение из файла размером почти в квадрат (1411 x 1486) или аналогичного размера в квадратную форму, например 1024x1024, к сожалению, функция изменения размера, похоже, не выполняет изменение размера холста, поэтому я продолжаю получать номер как 1024x982. Мне интересно, есть ли способ конвертировать не очень квадратное изображение в квадратное изображение с использованием их библиотек c ++.

Причина, по которой они не квадратные, заключается в том, что я конвертирую GPS-координаты в UTM и получаю квадратную форму, но, к сожалению, из-за изгиба земли они обычно находятся на расстоянии около 400 м от квадрата ... если вам интересно

Ответы [ 3 ]

10 голосов
/ 16 августа 2014

Использование 1024x1024! не будет дополнять миниатюру.

Вот ссылка на то, что вы хотите http://www.imagemagick.org/Usage/thumbnails/#pad

Командная строка из ссылки (для предотвращения гниения ссылок):

convert -define jpeg:size=200x200 hatching_orig.jpg -thumbnail '100x100>' \
          -background skyblue -gravity center -extent 100x100 pad_extent.gif
7 голосов
/ 25 января 2010

Вы можете добавить! к вашей геометрии, как "1024x1024!" на изменение размера или создать явную геометрию для метода изменения размера. Вам также может понадобиться установить флаг аспекта, хотя! должен делать это (я читал, что некоторым людям это нужно, хотя у меня нет объяснений по этому поводу)

0 голосов
/ 24 февраля 2010

я сделал так, как сказал Джошуа. это сработало для одного изображения. (спасибо Джошуа)

Я также хотел добавить решение для изменения размера партии, потому что

convert -resize 1024x1024! *.png

не работает


поэтому здесь есть пример команды для рабочего образца .

mkdir scaled
for %%x in (*.png) do convert -resize 1024x1024! %%x .\scaled\%%x
...