Oddal z zachowaniem proporcji

0

Trzeba pomniejszyć obraz, dodając białą ramkę, ale zachowując proporcje obrazu. Jak to zrobić w ImageMagick? Próbowałem dodać ramkę z parametrami, -bordercolor White -border 100x100 image.jpgale zmienia to proporcje obrazu (szerokość px / wysokość px uległa zmianie, ale trzeba to zachować).

marioosh
źródło

Odpowiedzi:

0

Jeśli chcesz tylko dodać białą ramkę i zachować proporcje, możesz użyć tych poleceń:

newsize=$(identify -format "%[fx:w+100]x%[fx:h+100]" rose:)
convert rose: \( -clone 0 -resize "$newsize" -fx "white" \) \
    -reverse -gravity Center -composite newrose.png

Program wykorzystuje dwa obrazy, jako listę lub stos:

rose: jest pierwszym obrazem;

\( -clone 0 -resize "$newsize" -fx "white" \) jest drugim obrazem;

-clone 0 tworzy kopię pierwszego obrazu;

-resize "$newsize" zmienia rozmiar do pożądanego rozmiaru;

-fx "white" wypełnia cały drugi obraz kolorem białym;

-reverse zamienia obrazy;

-gravity Center wyrównuje obrazy do środka;

-composite nakładają się na obrazy.

rose:

Róża: (70x46)

\( -clone 0 -resize "$newsize" -fx "white" \)

tło (170x112)

newrose.png

newrose.png (170x112)

70 / 46 = 1.5217
170 / 112 = 1.5178
Marco
źródło