从特定文件加载图像
Posted
技术标签:
【中文标题】从特定文件加载图像【英文标题】:Load image from specific file 【发布时间】:2017-02-27 15:29:34 【问题描述】:如何将 ImageSource 设置为来自特定文件夹的图像?
我尝试在 Debug 中移动图像并运行以下代码:
image.Source = new BitmapImage(new Uri("kafpodhlato.png"));
但我收到以下错误:
“System.UriFormatException”类型的未处理异常发生在 系统.dll
附加信息:无效的 URI:URI 的格式不能 确定。
编辑:创建一个名为 Resources 的文件夹,将其 Build action
设置为 Resource
,然后使用以下代码解决了我的问题。
image.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resources/panamaxi.png"));
【问题讨论】:
也许使用另一个Uri
构造函数?
【参考方案1】:
这应该可行:
image.Source = new BitmapImage(new Uri("kafpodhlato.png", UriKind.Relative));
但是,您可能希望通过 Pack URI 从程序集资源加载图像。
将图像文件添加到您的 Visual Studio 项目中,例如到名为Images
的文件夹。然后将其Build Action
设置为Resource
,并通过
image.Source = new BitmapImage(new Uri("pack://application:,,,/Images/kafpodhlato.png"));
【讨论】:
试过了,没有错误,但图像无法加载...也许我必须更好地指定路径?还是把图片放到Debug中就解决了这个问题? @ThP 查看我的编辑。您应该使您的图像文件成为程序集资源。 您能解释一下如何将其Build Action
设置为Resource
吗?我目前没有要更改的属性,除了它的名称。
见这里:***.com/a/12693661/1136211。在 VS 中,打开文件的内容菜单并选择属性。
您确定在 Pack URI 中使用了正确的项目文件夹名称吗? image
呢,它是在 XAML 中声明的吗?你确定它是可见的?有很多事情可能是错误的,但我们只能猜测。以上是关于从特定文件加载图像的主要内容,如果未能解决你的问题,请参考以下文章