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; 后
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律