0

在我的应用程序中,我想显示一些图片(我需要将它们存储在列表中)。我打开它们有问题。首先,我创建了一个目录图像(使用 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];

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

XamlParseException

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

4

2 回答 2

0

尝试将您的图像和代码更改为 jpg 扩展名。严重地。

于 2010-12-14T19:53:20.263 回答
0

如果你想提供一个BitmapImage ...

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

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

于 2010-12-14T19:59:07.700 回答