我正在从智能卡上读取数据。 该数据也包含图片。 用于在类ReadData中获取图片的代码:
public Bitmap GetPhotoFile()
{
byte[] photoFile = GetFile("photo_file");
Bitmap photo = new Bitmap(new MemoryStream(photoFile));
return photo;
}
xaml中的代码:
imgphoto = ReadData.GetPhotoFile();
生成错误:
无法隐式转换类型' System.Drawing.Bitmap'到' System.Windows.Controls.Image'
这方面最好的方法是什么?
答案 0 :(得分:2)
不要从该文件创建System.Drawing.Bitmap
。 Bitmap
是WinForms,而不是WPF。
相反,请创建一个WPF BitmapImage
public ImageSource GetPhotoFile()
{
var photoFile = GetFile("photo_file");
var photo = new BitmapImage();
using (var stream = new MemoryStream(photoFile))
{
photo.BeginInit();
photo.CacheOption = BitmapCacheOption.OnLoad;
photo.StreamSource = stream;
photo.EndInit();
}
return photo;
}
然后将返回的ImageSource
分配给Image控件的Source
属性:
imgphoto.Source = ReadData.GetPhotoFile();