在我的应用程序中,我想显示一些图片(我需要将它们存储在列表中)。我打开它们有问题。首先,我制作了一个目录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
再次,但有一些信息 - 有迹象表明路径可能是错误的。
答案 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是项目中的文件夹。