C# PictureBox 按比例的缩放加载图片

 

 

 

方法一:
    如果要加载的图片的长宽比不是太过失衡,可以改变picturebox的SizeMode属性为 PictureBoxSizeMode.StretchImage。这样加载到picturebox的图片会充满整个picturebox。但是 当图片长宽比比较大时,这个方法显得不是太好了。可以选择方法二。

方法二:

           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);
           }
posted @ 2010-02-15 11:18  猪悟能  阅读(4643)  评论(0编辑  收藏  举报