web-dev-qa-db-ja.com

画像ボックスのスケーリング

c#で画像のスケーリングに問題が発生しました。

サイズが指定された画像ボックスがあります。幅= 800ピクセル高さ= 600ピクセル

その画像ボックスに小さな画像(400x400)と大きな画像(800+ x 600+)を読み込んでいます

ボックスに収まらない場合、画像のサイズが変更されます。しかし、それらはalwaysPictureBoxの最大幅と高さにサイズ変更されます。したがって、アスペクト比はdestroyedです。

誰でも問題を特定/修正するのに役立ちますか?

クラス:

Form1.cs

ImageHandling.cs (コメントアウト)

ImageUtilities.cs

例:

問題1:私のバージョン
enter image description here

vs元のソース enter image description here

問題2:
私のバージョン
enter image description here

vs元のソース
enter image description here

私がそれを望む方法:

溶液
enter image description here

25
pila
this.PictureBox1.SizeMode = PictureBoxSizeMode.Zoom;

そのプロパティをPictureBoxに設定すると、画像のサイズは、サイズ比を維持しながらPictureBoxに合わせて増減します。

詳細情報: http://msdn.Microsoft.com/en-us/library/system.windows.forms.picturebox.sizemode.aspx

51
Forte L.