0

幅という 1 つのパラメーターを使用して、画像のサイズを新しいサイズに変更したいと考えています。

画像が横向きの場合、新しいサイズは、幅 = 幅、高さ = 幅に比例します。

画像が垂直の場合、新しいサイズは次のようになります: 高さ = 幅、幅 = 高さに比例します。

これを実装する方法はありますか?

ImageMagick と MagickNet ラッパーを使用しています。

4

2 に答える 2

2

http://www.imagemagick.org/Usage/resize/の使用リファレンスから

convert org.jpg    -resize widthxwidth  final.jpg

例: widthxwidth は 256x256 にすることができます

縦横比は維持され、サイズ変更は 256 X 256 ピクセルの正方形の境界内で行われます。

上記ページより引用:

サイズ変更は、画像を要求されたサイズに合わせます。要求されたボックス サイズを満たしていません。

于 2010-02-21T03:58:22.367 に答える
1

ここで何を意味するのか正確にはわかりません。あなたは幅を定義したいだけだと言いますが、「垂直」の場合、高さを幅に設定しますか? とにかく、幅だけを使用して何かのサイズを変更したい場合は、次の疑似コードを使用します。

ratio = width / height
newWidth = <the new width>
newHeight = newWidth / ratio

最長サイズを特定の値にリサイズしたい場合は、これを試してください:

ratio = width / height

if ratio > 1   // wider than it is tall
    newWidth = <theValue>
    newHeight = newWidth / ratio

else           // taller than it is wide
    newHeight = <theValue>
    newWidth = newHeight * ratio
于 2010-02-21T03:57:54.517 に答える