当前位置: 首页 > news >正文

C# 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://www.lryc.cn/news/2192.html

相关文章:

  • 3种方法设置PDF“打开密码”,总有一种适合你
  • 第三章 数据链路层(点到点的传输服务)-计算机网络(笔记)
  • volatile关键字与CAS机制
  • LeetCode题解 动态规划(四):416 分割等和子集;1049 最后一块石头的重量 II
  • 【FFMPEG源码分析】从ffplay源码摸清ffmpeg框架(二)
  • PCIE 学习笔记(入门简介)
  • 锁的优化机制了解嘛?请进!
  • 5.点赞功能 Redis
  • Java序列化和反序列化(详解)
  • 【刷题篇】链表(上)
  • ConcurrentHashMap设计思路
  • Unity基于GraphView的行为树编辑器
  • 网络流量传输MTU解析
  • 30个HTML+CSS前端开发案例(四)
  • 《TPM原理及应用指南》学习 —— TPM执行环境3
  • 实验名称:经典同步问题:生成者与消费者问题
  • EasyCVR视频云存储的架构解析与Sharelist云存挂载方法介绍
  • 电机参数中力矩单位kgf.cm,Nm,mNm表示的含义
  • 使用scikit-learn为PyTorch 模型进行超参数网格搜索
  • Windeployqt 打包,缺少dll 的解决方法
  • 第四章:搭建Windows server AD域和树域
  • 【解决方案】老旧小区升级改造,视频智能化能力如何提升居民安全感?
  • 【遇见青山】项目难点:缓存穿透的解决方案
  • 单一职责原则|SOLID as a rock
  • 使用百度地图官方WEB API,提示 “ APP 服务被禁用“ 问题的解决方法
  • nodejs如何实现Digest摘要认证?
  • 【C#项目】图书馆管理系统-WinForm+MySQL
  • RNN循环神经网络原理理解
  • 一句话设计模式1: 单例模式
  • 新版国家标准GB/T 28181—2022将于2023年7月1日正式实施,与GB/T 28181—2016差别有哪些?