10

I am trying to read an image from a resource only DLL file. I am able to read the image name and image bytes, but How do I set the Image control to stream buffer? In windows form, I know I can use this :

pictureBox1.Image=new System.Drawing.Bitmap(IOStream);

since there is no Drawing namespace in wpf, how can I achieve the same thing?

Tanuj Wadhwa
  • 2,025
  • 9
  • 35
  • 57

2 Answers2

19

In WPF, you can set the Source property of an Image, as in this example:

Image image = new Image();
using (MemoryStream stream = new MemoryStream(byteArray))
{
    image.Source = BitmapFrame.Create(stream,
                                      BitmapCreateOptions.None,
                                      BitmapCacheOption.OnLoad);
}

Where byteArray is the array of bytes with the source of the image.

John Willemse
  • 6,608
  • 7
  • 31
  • 45
5

In WPF you probably have an Image element in your xaml. The Source can be any BitmapImage. You can bind a BitmapImage from your ViewModel, where you can create an instance from a Stream like this.

Community
  • 1
  • 1
nvoigt
  • 75,013
  • 26
  • 93
  • 142