2009-05-28 9 views
0

C#コードを自分の(WPF)アプリケーションのキャンバスに追加しようとしています。しかし、私のコードは動作しません。C#/ WPF画像処理の問題

Image I = new Image(); 
I.Source = System.IO.File.Open(@"C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg", System.IO.FileMode.Open); 

私はエラーを取得する:

Cannot implicitly convert type 'System.IO.FileStream' to 'System.Windows.Media.ImageSource' 

これは、なぜ私が見る:Imageオブジェクトは、生のビットマップ(またはJPGまたは何を)望んでいる、と私のコードはそれをからの出力ストリームを与えていますファイル。どのように私は2つの間で変換するのですか?

答えて

3

約:

Image I = new Image(); 
BitmapImage bi = new BitmapImage(); 
bi.BeginInit(); 
bi.UriSource = new Uri(@"C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg", UriKind.Absolute); 
bi.EndInit(); 
I.Source = bi; 
+0

のBitmapImageはウリを受け取るコンストラクタのオーバーロードがあります。あなたの例とは違うものを使っていますか? – YotaXP

+0

この作品を作成するには、何をインポートする必要がありますか? Visual Studioには、 "'System.Windows.Controls.Image'に 'FromStream'の定義が含まれていないと言っています。 –

+1

申し訳ありませんが、私はSystem.Drawing.ImageとSystem.Windows.Controls.Imageを混乱させました。今朝のこの記事の改訂。私は正しい解決策にロールバックしました。 – jason