方法一: 如果要載入的圖片的長寬比不是太過失衡,可以改變picturebox的SizeMode屬性為 PictureBoxSizeMode.StretchImage。這樣載入到picturebox的圖片會充滿整個picturebox。但是 當圖片長寬比比較大時,這個方法顯得不是太好了。可以選擇方法二。
方法二:可參考;http://www.cnblogs.com/fengzanfeng/articles/1339107.html
OpenFileDialog ofdPic= new OpenFileDialog(); ofdPic.Filter = "JPG(*.JPG;*.JPEG);gif檔案(*.GIF)|*.jpg;*.jpeg;*.gif"; ofdPic.FilterIndex = 1; ofdPic.FileName = ""; if (ofdPic.ShowDialog() == DialogResult.OK) { string sPicPaht = ofdPic.FileName.ToString(); Bitmap bmPic = new Bitmap(sPicPaht); Point ptLoction = new Point(bmPic.Size); if (ptLoction.X > mypicbox.Size.Width || ptLoction.Y > mypicbox.Size.Height) { //圖像框的停靠方式 //pcbPic.Dock = DockStyle.Fill; //圖像充滿圖像框,並且圖像維持比例 mypicbox.SizeMode = PictureBoxSizeMode.Zoom; } else { //圖像在圖像框置中 mypicbox.SizeMode = PictureBoxSizeMode.CenterImage; }
//LoadAsync:非同步載入圖像 mypicbox.LoadAsync(sPicPaht); }