(回答が更新され、以下の図解例が提供され-liquid-rescale
ます)
元の画像のサイズは次のとおりです。
489 x 640 pixels
希望する寸法は次のようです。
290 x 310 pixels
これは、次のいずれかがないと、これらのディメンションにスケーリングできません。
- トリミング(最初の画像のすべての領域を保持しないでください)
- 希望の幅を維持する(希望の高さをあきらめる)
- 希望の高さを保つ(希望の幅をあきらめる)
- 歪み(スケーリング時にアスペクト比を維持しないでください)
- パディング(1つまたは複数のエッジにピクセルを追加)
- はっきりしないピクセルを削除する(「液体のリスケール」または「シームカービング」-ウィキペディアを参照)
結果は「1」を示しています。(トリミング)、あなたは好きではありません。したがって、オプション「2」があります。(幅を維持)、「3」。(高さを保つ)、「4」。(ゆがみ)、「5」(パディング)と「6」。(シームカービング)テストのために残しました。
'2.':希望の高さを保つ
convert WPTgp.jpg -resize x310 keep-height.jpg
結果の画像のサイズは237 x 310 pixels
。
(幅は自動的に決定されます)
Keep Height....

'3.':希望の幅を維持
convert WPTgp.jpg -resize 290x keep-width.jpg
結果の画像のサイズは290 x 380 pixels
。
(高さを自動的に決定します)
Keep Width.....

'4.':歪み
convert WPTgp.jpg -resize 290x310\! distorted.jpg
結果の画像のサイズは290 x 310 pixels
。
(アスペクト比を無視します-寸法に合わせる必要がある場合は画像を歪めます)
Distorted......

'5.':パディング
convert WPTgp.jpg \
-resize 290x310 \
-gravity center \
-background orange \
-extent 290x310 \
padded.jpg
結果の画像のサイズは290 x 310 pixels
。(オレンジ色の背景は、画像の「拡張」が機能したことを示すためにのみ追加されました。)
(アスペクト比を維持-目的の寸法に画像を拡張)
Padded.........

'6。':シームカービング
convert WPTgp.jpg -liquid-rescale 290x310\! liquid.jpg
上記は、ImageMagickコマンドオプションリファレンスをすばやく読んで自発的に派生するコマンドです。ただし、うまく機能しないため、代わりに次を使用しました。
convert WPTgp.jpg -liquid-rescale 599x640\! -scale 290x310 liquid.jpg
convert WPTgp.jpg -liquid-rescale 599x640\! -scale 48.4% liquid.jpg
さらに以下に、変更が必要な理由を説明します。申し訳ありませんが、現在、サンプル画像を提供することはできません。これには、追加のImageMagickデリゲート(リキッドリスケーリングライブラリ)をインストールする必要がありますが、現時点ではありません) 元のイメージの「リキッドリスケーリング」バージョンを作成する機会がありました。
Liquid-rescaled

liblqr
シームカービングに関する警告/ '-liquid-rescale'
:
上記のように、最後の画像は、最初に提案したコマンドの結果ではなく、次の2つの変更されたバージョンのいずれかの結果です。
convert WPTgp.jpg -liquid-rescale 599x640\! -scale 290x310 liquid.jpg
convert WPTgp.jpg -liquid-rescale 599x640\! -scale 48.4% liquid.jpg
489x610ピクセルの元の画像があり、290x310ピクセルに拡大縮小することが期待されていることを忘れないでください。ただし-liquid-rescale
、一度に2次元で再スケーリングするのは得意ではありません。これは、一方向(水平または垂直)にのみスケーリングするように設計されています。両方を同時に実行しようとすると、期待した結果が得られない場合があります。最初に提案されたコマンドの結果は次のとおりです。
convert WPTgp.jpg -liquid-rescale 290x310\! liquid.jpg
LQR gone wrong
そのため、2つのステップで機能する2つの変更されたコマンドを思いつきました。
- まず、液体の再スケーリングを水平方向の寸法にのみ適用し、元の幅を489ピクセルから599ピクセルに拡大します。
- 次に、「通常の」アスペクト比維持スケーリングを中間結果に適用して、最終的な画像を生成します。