无法在WPF应用中打开图像

时间:2010-12-14 19:50:33

标签: c# wpf image resources xamlparseexception

在我的应用程序中,我想显示一些图片(我需要将它们存储在列表中)。我打开它们有问题。首先,我制作了一个目录Images(使用VS)。接下来,我将图片加载到此文件夹(也在VS中)。 我想像这里一样打开其中一个: http://msdn.microsoft.com/en-us/library/aa970062.aspx

Stream imageStreamSource = new FileStream("Images\bulbOff.png", FileMode.Open, FileAccess.Read, FileShare.Read);
PngBitmapDecoder decoder = new PngBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource = decoder.Frames[0];

然后在尝试运行程序时,我得到了:

XamlParseException

几乎没有任何信息。 确定第一行导致了问题,因为只有在我删除它时问题才会消失。

我也尝试过这样做:

Uri myUri = new Uri("Images\bulbOff.png", UriKind.RelativeOrAbsolute);
PngBitmapDecoder decoder2 = new PngBitmapDecoder(myUri, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource2 = decoder2.Frames[0];

具有相同的结果。 我还尝试将图像复制到app的主文件夹(在SolutionView中)。当我试图得到“\ bulbOff.png”时,结果是一样的。 当我试图获得“bulbOff.png”时,我得到了

XamlParseException

再次,但有一些信息 - 有迹象表明路径可能是错误的。

2 个答案:

答案 0 :(得分:0)

尝试将图片和代码更改为jpg扩展名。严重。

答案 1 :(得分:0)

如果您想提供BitmapImage ...

BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(@"..\Images\DocumentAccess_16x16.png", UriKind.Relative);
image.EndInit();

...其中Images是项目中的文件夹。