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:
(70x46)
\( -clone 0 -resize "$newsize" -fx "white" \)
(170x112)
newrose.png
(170x112)
70 / 46 = 1.5217
170 / 112 = 1.5178