• 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

  • 相关阅读:
    去年课程设计的作品
    终于结束了期末考试
    记在园子里安家
    ASP.NET中实现无刷新级联
    ASP.NET中利用JQuery AJAX修改用户密码
    The LogStructured MergeTree(译)(转载)
    我常用的Latex中文报告模板(一)
    LRU算法的简单实现( C语言 + uthash包)
    epoll 使用详解
    转载系列之一:浅析Hadoop文件格式
  • 原文地址:https://www.cnblogs.com/puweibuqi/p/3759168.html
Copyright © 2020-2023  润新知