2017-02-01 4 views
0

ピクチャボックスにサイズ変更されたピクチャを表示したい。 元の画像です: http://www.directupload.net/file/d/4619/78xat5o5_jpg.htm(c#)ピクチャのサイズを変更する

そして、私の形で映像: http://www.directupload.net/file/d/4619/lp9nzjgp_png.htm

マイピクチャのサイズは500x500pxです。 私はサイズ変更に使用する私の方法:

public static Image ResizePicByWidth(Image sourceImage, double newWidth) 
    { 
     double sizeFactor = newWidth/sourceImage.Width; 
     double newHeigth = sizeFactor * sourceImage.Height; 
     Bitmap newImage = new Bitmap((int)newWidth, (int)newHeigth); 
     using (Graphics g = Graphics.FromImage(newImage)) 
     { 
      g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; 
      g.DrawImage(sourceImage, new Rectangle(0, 0, (int)newWidth, (int)newHeigth)); 
     } 
     return newImage; 
    } 

を私は、元の画像とのPictureBoxから幅のメソッドを呼び出します。 しかし、どのように画像を正しくサイズ変更できますか? 私のフォームは全体の画像を表示します。そして、私は知っている、その写真は端に梁を持っています。 私は何を意味するか知りたいです。

+0

あなたが望む値にピクチャの幅と高さを設定するだけです。 – Steve

+0

あなたは新しい幅を設定しましたが、実際にはnewHeigthにピクチャボックスを適応させるために新しいものもあります。または、sizemodeをズームするように設定します。その場合は、サイズを変更する必要はありません。 – TaW

+0

ur英語は悪いです、申し訳ありません..しかし、Sizemodeは解決策です – ExclusivAtom

答えて

2

PictureBoxにはSizeModeプロパティがあります。これをズームに設定すると、画像が自動的にサイズ変更され、内部に収まるようになります。

+0

そのような仕事はありません。 http://www.directupload.net/file/d/4619/ako9gcqp_png.htm – ExclusivAtom

+0

私のせいです。 SizeModeではなく、BackgroundImageLayoutをZoomに設定しました。ありがとう – ExclusivAtom

関連する問題