First, define an image control in a XAML file named img
MemoryStream stream = new MemoryStream (acquired database object);
BitMapImage bmp = new BitMapImage ();
Bmp. BeginInit ();//initialization
Bmp. Streamsource = stream;//Set source
Bmp. EndInit ();//Initialization end
Img. Source = bmp;//Set Image source
Many people do not initialize the BitmapImage with this method, which will result in errors and not get the image data properly.
public class EMP
{
Public byte[] Photo{set;get;}
}
Code in XAML
private void Btnchoosephoto_click (object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog ();//Open the Select File window
Ofd. Filter = "jpg|*.jpg|png|*.png";//Filters
if (OFD. ShowDialog () = = True)
{
String fileName = Ofd. filename;//get the full path to the file
Emp. Photo = File.readallbytes (fileName);//store the binary data of the image in the photo property of the EMP
Img. Source = new BitmapImage (new Uri);//Display the picture on the image control
}
}
How WPF displays binary picture data from a database on an image control