2009-05-28 2 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 или любой другой), и мой код дает ему выходной поток из файл. Как конвертировать между ними?

ответ

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 имеет перегрузку конструктора, который принимает Uri. Будет ли это отличаться от вашего примера? – YotaXP

+0

Что мне нужно импортировать, чтобы сделать эту работу? На данный момент Visual Studio комментирует: «System.Windows.Controls.Image» не содержит определения для «FromStream» – 2009-05-28 13:22:57

+1

Извините, я смутил System.Drawing.Image и System.Windows.Controls.Image, когда я сделал пересмотр этого поста этим утром. Я вернулась к правильному решению. – jason

Смежные вопросы