convert メソッドを使用すると、比率を変更せずに指定された高さと幅を指定して、横長または縦長の画像を変換できるようにしたいと考えています。
ドキュメントによると、「clip」オプションは次のように機能します。
- ' clip ': 指定されたパラメーター内に収まるように画像のサイズを変更します。歪み、トリミング、または縦横比の変更はありません。
200x50 の画像があり、150x150 の結果が必要な場合、元の画像と同じ比率でサイズが変更された 150x37px の画像になります。100x50 の画像があり、150x150 の結果が必要な場合、元の画像と同じ比率でサイズが変更された 150x75px の画像になります。
- ' crop ': 境界内に収まらない画像の部分を削除することにより、指定されたパラメーターに正確に収まるように画像のサイズを変更します
200x50 の画像があり、150x150 の結果が必要な場合、150x37px のトリミングされた画像になります。
- ' scale ': 画像を目的のサイズにスケーリングすることにより、指定されたパラメーターに正確に合うように画像のサイズを変更します
200x50 の画像があり、150x150 の結果が必要な場合、比率が収まるように変更された 150x150px のサイズ変更された画像になります。
- ' max ': パラメータ内に収まるように画像のサイズを変更しますが、'clip' とは対照的に、画像が出力サイズよりも小さい場合は画像をスケーリングしません。
「クリップ」と同じ出力ですが、100x50 の画像があり、150x150 の結果が必要な場合、元の画像と同じ比率でサイズが変更された 100x50px の画像になります。
私が望んでいるのは、画像の比率を維持し、必要な寸法にする機能です (必要に応じて垂直方向と水平方向のセンタリングを使用)。これにより、歪みやクリップのない画像が得られます。
スペースをどの色で塗りつぶすかを決定する必要があるため、タスクにはいくつかのトリッキーがあることを理解しています(スペース塗りつぶしについてのImageMagickドキュメントを参照してください)。
どんな洞察も素晴らしいでしょう、それが極端なケースではないことを願っています.