C#picturebox或者Dev控件 PictureEdit 按比例的縮放加載圖片


方法一:
    如果要加載的圖片的長寬比不是太過失衡,
1.可以改變picturebox的SizeMode屬性為 PictureBoxSizeMode.StretchImage,
2.或者Dev控件 PictureEdit的SizeMode屬性為Zoom(zoom:縮放;clip剪短;stretchHorizontal:縱向拉伸;stretchVertical:橫向拉伸;squeeze:壓縮)
這樣加載到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);
           }
3.PictureEdit詳解
NullText 無圖片或者無法顯示時展示的文字 
ReadOnly 是否只讀 
showmune 是否顯示右鍵菜單欄目
SizeMode 圖片顯示的格式  選擇Zoom 則為比例縮放顯示
pictureEdit 中顯示的圖片可以是資源.resx中的圖片資源文件  也可以上硬盤上的圖片文件  也可以是網絡上有url地址的圖片文件  
下面我們來看下如何實現這些圖片的實現

1、 .resx中的圖片資源文件比較容易實現  直接在屬性中 Image設置 選擇資源文件即可 也可以在代碼中設置圖片的 pictureEdit1.Image= Resource1._20090119102027514; //資源類名 +圖片文件名


2、顯示硬盤中的文件 也比較簡單 直接 引入命名空間 using System.IO; 后

用代碼  pictureEdit1.Image=Image.FromFile(path);  path為圖片硬盤上的絕對路徑


3、顯示網絡中的圖片  你需要一個url地址 使用 

                Image obj = Image.FromStream(System.Net.WebRequest.Create(imagePath).GetResponse().GetResponseStream());

使用 WebRequest.Create獲取圖片的流 然后直接  pictureEdit1.Image=obj就搞定了 

也可以使用 pictureEdit1.Image = new Bitmap((new System.Net.WebClient()).OpenRead(url));  WebClient來獲取圖片

 

 

 

引用自:http://blog.csdn.net/td13560142839/article/details/7291506


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM