JpegBitmapDecoder Constructor (Stream, BitmapCreateOptions, BitmapCacheOption)


Initializes a new instance of the JpegBitmapDecoder class from the specified file stream, with the specified createOptions and cacheOption.

Namespace:   System.Windows.Media.Imaging
Assembly:  PresentationCore (in PresentationCore.dll)

public JpegBitmapDecoder(
	Stream bitmapStream,
	BitmapCreateOptions createOptions,
	BitmapCacheOption cacheOption


Type: System.IO.Stream

The bitmap stream to decode.

Type: System.Windows.Media.Imaging.BitmapCreateOptions

Initialization options for the bitmap image.

Type: System.Windows.Media.Imaging.BitmapCacheOption

The cache method to use for the bitmap image.

Exception Condition

The bitmapStream value is null.


The bitmapStream is not a Joint Photographics Experts Group (JPEG) encoded image.

Use the OnLoad cache option if you wish to close the bitmapStream after the decoder is created. The default OnDemand cache option retains access to the stream until the bitmap is needed and cleanup is handled by the garbage collector.

The following code example demonstrates how to create an instance of and use a JpegBitmapDecoder from a file stream. The decoded image is used as the source of an Image control.

// Open a Stream and decode a JPEG image
Stream imageStreamSource = new FileStream("tulipfarm.jpg", FileMode.Open, FileAccess.Read, FileShare.Read);
JpegBitmapDecoder decoder = new JpegBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource = decoder.Frames[0];

// Draw the Image
Image myImage = new Image();
myImage.Source = bitmapSource;
myImage.Stretch = Stretch.None;
myImage.Margin = new Thickness(20);

.NET Framework
Available since 3.0
Return to top