社区
.NET Framework
帖子详情
WPF image 加载
harryhdk
2011-11-12 12:07:53
请问,如果image控件的source是一个http网络地址,那么,这个控件loaded的时候已经把图像下载到本地内存了呢,还是在呈现的时候才去下载?,还有,我该怎么计算这个控件的初始化、绑定、呈现的耗时?在哪些方法里计时?
...全文
167
1
打赏
收藏
WPF image 加载
请问,如果image控件的source是一个http网络地址,那么,这个控件loaded的时候已经把图像下载到本地内存了呢,还是在呈现的时候才去下载?,还有,我该怎么计算这个控件的初始化、绑定、呈现的耗时?在哪些方法里计时?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
幸福的小木鱼
2011-11-14
打赏
举报
回复
Image控件加载图片包括加载动态图片,加载静态图片两种方式。
加载动态图片通过生成一个BitmapImage,创建该对象后,赋给Image的Source即可。加载的形式:
代码
1 BitmapImage myBitmapImage = new BitmapImage();2 myBitmapImage.BeginInit();3 //取得数据库存储的图片字段,MS-SQL的Image类型4 Byte[] mybyte = ReadImage();5 myBitmapImage.StreamSource = new MemoryStream(mybyte);6 myBitmapImage.EndInit();7 myImage.Width = myBitmapImage.Width/2;8 myImage.Height = myBitmapImage.Height/2;9 myImage.Source = myBitmapImage;
加载系统目录中已经存在的图片,可以采用WPF中的pack://application:,,,格式来加载,比 如在系统的Resource目录下的图片,我们可以这样定义
ImgDev.Source = new BitmapImage(new Uri(pack://application:,,,/Resources/aa.jpg));
如果我们需要挪动页面上的图片,该怎么办呢?下面以我自己做的一个小DEMO来演示下:
挪动图片实际上挪动Image控件的上一层框架容器,这样我们把Image控件放入canvas,来对
canvas进行挪动。例如:
<Canvas Name="canvas1" Height="238" HorizontalAlignment="Left" VerticalAlignment="Top" Width="378"> <Image Name="myImage"></Image></Canvas>
然后我们需要在WPF窗体里面监测鼠标的左键按下,移动的动作,因此在xaml文件的window标签中
我们加入MouseMove="win_mainX_MouseMove" MouseUp="win_mainX_MouseUp"
其中win_mainX是窗体的名称,同样,在Image控件,需要判断鼠标是否按下,如果按下,则记录相应的
Position,并且移动图片。代码如下:
代码
1 bool IsMouseDown = false; 2 Point mousePoint; 3 object mouseCtrl = null; 4 private void win_mainX_MouseMove(object sender, MouseEventArgs e){ 5 if (IsMouseDown){ 6 if (e.LeftButton == MouseButtonState.Pressed) {Point theMousePoint = e.GetPosition(this.canvas1); 7 Canvas.SetLeft((UIElement)mouseCtrl, theMousePoint.X - (mousePoint.X - Canvas.GetLeft(((UIElement)mouseCtrl)))); 8 Canvas.SetTop((UIElement)mouseCtrl, theMousePoint.Y - (mousePoint.Y - Canvas.GetTop(((UIElement)mouseCtrl)))); 9 mousePoint = theMousePoint;10 }11 }12 }13 private void win_mainX_MouseUp(object sender, MouseButtonEventArgs e){14 if (IsMouseDown){15 IsMouseDown = false;16 }17 }18 private void myImage_MouseDown(object sender, MouseButtonEventArgs e){19 if (e.LeftButton == MouseButtonState.Pressed) {20 IsMouseDown = true;21 mousePoint = e.GetPosition(this.canvas1); mouseCtrl = sender;22 }23 }24
wpf
Image
控件
加载
SVG图片
wpf
Image
控件
加载
SVG图片使用了SharpVectors.Converters.
Wpf
.DLL 进行二次重绘然后重新转换成
Image
Source
【示例】
WPF
使用最简洁的代码动态
加载
网络图片
在
WPF
中,使用最简洁的C#代码,添加
Image
控件,并向
Image
控件添加“网络”(非本地)图片。
WPF
五子棋军师开发详解/MVVM/C#/WebApi/人工智能/机器视觉
在这个课程中,赵老师教你用
WPF
打造一款五子棋“军师”软件。用自己打造的“军师”助阵,在五子棋战场上虐尽各路高手,随时体验“会当凌绝顶,一览众山小”的那种“独孤求败”的感觉。技术点:
WPF
、C#、P/Invoke、...
wpf
动态
加载
gif
wpf
动态
加载
gif,完全代码控制
WPF
中
Image
控件Source属性的相对路径和绝对路径问题(经验总结)
WPF
中
Image
控件Source属性的相对路径和绝对路径问题的开发经验总结,亲测通过!
.NET Framework
17,741
社区成员
24,334
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章