2010-12-14 14 views
0

私のアプリケーションでは、いくつかの画像を表示したい(リストに保存する必要がある)。私はそれらを開くことに問題があります。まず、Images(VSを使って)ディレクトリを作った。次に、私はこのフォルダ(VSでも)に画像をロードしました。 http://msdn.microsoft.com/en-us/library/aa970062.aspxWPFアプリケーションで画像を開くことができない

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 

を得たが、いくつかの情報を取得しようと 。

+0

なぜイメージをロードするとXamlParseExceptionがスローされるのですか?例外が画像の読み込みに関連していることを100%確信していますか? –

+0

コントロールがインスタンス化されたときに正しく実行されないように、コードを移動します。 XAMLから間接的に呼び出された、構築中にスローされた例外はすべて捕捉され、XamlParseExceptionがスローされます。しかし、InnerException(またはInnerExceptionのいくつかのレベル)が実際のエラーを明らかにする必要があります。 –

+0

@ジェラルド私が書いたように、最後の行から1行ずつコードを削除しようとしました。そして、最初の行を削除した後で例外がスローされなくなりました(どちらの例でも、ファイルへのパスが含まれています)。 – rideronthestorm

答えて

0

あなたはBitmapImage ...

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

を提供したい場合は...。

+0

1.私の知る限りではBitmapImage抽象クラスImageSourceの実装です。 2.どちらの例でもBitmapImageのみを使用していますので、ImageSourceをどういう意味ですか? – rideronthestorm

+0

@rideronthestorm ImageSourceが上位レベルのタイプであることに間違いはありません。それに応じて編集してください。BitmapImageルートには私が知っている事実が分かります...今すぐコードに座っています –

+0

pngイメージはデコードされますか? '@'は、あなたが入力したパスの始まりで、 '../'(ファイルツリーの上位レベルに移動します)を意味しますか? – rideronthestorm

0

イメージとコードをjpg拡張子に変更してください。真剣に。画像は、プロジェクト内のフォルダである

関連する問題