Обрезка изображения, используя самый большой квадрат, который подходит, начиная с центра - PullRequest
0 голосов
/ 06 декабря 2018

Предположим, у меня есть изображение размером X*Y, вызывающее D = min(X,Y), есть ли команда Ubuntu, которая позволяет обрезать изображение с квадратом размером D с центром в X/2,Y/2?

IПолагаю, что convert может работать, но я не могу понять, какие флаги я могу использовать для выполнения этой работы.

1 Ответ

0 голосов
/ 07 декабря 2018

Вы можете получить D как меньшее из ширины и высоты, например:

D=$(convert input.jpg -format "%[fx:w<h?w:h]" info:)

, а затем обрезать квадрат такого размера от центра следующим образом:

convert input.jpg -gravity center -extent "${D}x${D}" result.jpg

Итак, если вы начнете с этого изображения 800x400:

enter image description here

Вы получите это изображение 400x400:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...