zoukankan      html  css  js  c++  java
  • 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来获取图片

    E-MAIL:yiwuya@hotmail.com
    MSN:yiwuya@hotmail.com
    QQ:304899972
    纺织软件
  • 相关阅读:
    使用FRP让内网站点被外网访问
    游戏AI(三)—行为树优化之基于事件的行为树
    游戏AI(二)—行为树优化之内存优化
    游戏AI-行为树理论及实现
    利用InfluxDB和Grafana搭建一个数据监测的仪表盘
    Go语言中slice使用注意事项
    4:ELK分析tomcat日志
    2:tomcat配置优化
    文件操作2-Day3
    MySQL读写分离项目配置
  • 原文地址:https://www.cnblogs.com/yiwuya/p/3018802.html
Copyright © 2011-2022 走看看