DevExpress Cpicturebox或者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来获取图片
           

 

 

出处:https://blog.csdn.net/ffujbcf/article/details/83954491

posted on   jack_Meng  阅读(1678)  评论(0编辑  收藏  举报

编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2016-02-22 系列文章--突袭HTML5之Javascript
2014-02-22 Msmq设计文档(赋源代码)
2014-02-22 通过HTTP协议发送远程消息
2014-02-22 NET中MSMQ的使用----附例子
2014-02-22 MSMQ-发送消息到远程专用队列path格式

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩