En boy oranı koruyarak uzaklaştırın


0

Beyaz kenarlık ekleyerek görüntüyü uzaklaştırmanız gerekir, ancak görüntünün en / boy oranını korur. ImageMagick'te nasıl yapılır? Parametrelerle kenarlık eklemeyi denedim -bordercolor White -border 100x100 image.jpg ancak bu, görüntünün en boy oranını değiştirir (genişlik px / yükseklik px değişti, ancak korumalı olması gerekiyor).

Yanıtlar:


0

Yalnızca beyaz kenarlık eklemek ve en boy oranını korumak istiyorsanız, bu komutları kullanabilirsiniz:

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 liste veya yığın olarak iki görüntü kullanır:

rose: ilk görüntüdür;

\( -clone 0 -resize "$newsize" -fx "white" \) ikinci görüntüdür;

-clone 0 ilk görüntünün bir kopyasını çıkarır;

-resize "$newsize" istenen boyuta getirir;

-fx "white" ikinci görüntüyü beyaz renkle doldurur;

-reverse görüntüleri değiştirir;

-gravity Center görüntüleri merkeze göre hizalar;

-composite görüntüleri üst üste bindirir.

rose:

rose: (70x46)

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

background (170x112)

newrose.png

newrose.png (170x112)

70 / 46 = 1.5217
170 / 112 = 1.5178
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.