wpf 图片绝对路径引用_C#的WPF中的Image控件中载入图片的方法

本文介绍了在C#的WPF应用中,如何使用Image控件加载图片,尤其是通过绝对路径实现动态加载。作者在尝试过程中遇到了问题,最终通过设置UriKind.Absolute成功显示图片。解决方案包括使用System.Environment.CurrentDirectory获取当前目录,然后结合图片URL创建BitmapImage。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#的WPF中的Image控件中载入图片的方法

——独立观察员

2014.06.23

最近在做学校短学期课程"软件工程-软件项目管理与开发实践"的作业,选择用WPF(C#)做客户端。这是我第一次用WPF,以前学过C#,用的是Winform。

简而言之就是界面上需要载入图片(动态),折腾了挺久的,终于成功,特此记录在此。

Uri uri = new Uri("/Images/" +

curImage,UriKind.Relative);

BitmapImage bitmap = new BitmapImage(uri);

myImage.Source =

bitmap;

但始终无法显示出图片。

花开两朵,各表一枝。在搜索过程中,我试了一下在XAML里调用图片,这个成功了,不过可能不够规范:

x:Name="image" Source="/OrderFood_WPF;component/bin/Debug/picture/1.jpg"

/>

其中OrderFood_WPF是项目名,整个/OrderFood_WPF;component就是项目所在路径,而我的图片在其下的/bin/Debug/picture路径内,由上图可见图片载入成功。

但是在.cs文件(代码文件)中动态地载入图片还是不行。浏览 WPF中Image控件的Source属性

文章时发现他是这样写的:

imageEditImage是一个Image控件,在后台代码中我想给它指定Source的属性。我先如下方式进行:

BitmapImage image = new

BitmapImage(new Uri(strImagePath, UriKind.Absolute));

imageEditImage.Source =

image;

strImagePath是图片的绝对路径。

第一篇文章里作者没有详细说明UriKind参数的作用,现在看到这个才恍然大悟,原来这个顾名思义,是指定Uri的类型的,可设为"相对路径"或"绝对路径",那就好办了。

既然之前使用的是相对路径(Relative),但搞不清楚,那现在就用绝对路径(Absolute)吧:

//载入图片;

Uri

uri = new Uri(System.Environment.CurrentDirectory + "\\" +

food.food_pic_url, UriKind.Absolute);

BitmapImage bitmap = new

BitmapImage(uri);

image.Source = bitmap;

其中System.Environment.CurrentDirectory用于获取当前目录(该进程从中启动的目录)的完全限定目录,即可执行文件(.exe)所在的路径,具体可参考——总​结​C​#​获​取​当​前​路​径​的​7​种​方​法

最后效果:

谢谢阅读!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值