PngBitmapDecoder Constructor (Stream, BitmapCreateOptions, BitmapCacheOption)

Initializes a new instance of PngBitmapDecoder from the specified file stream with the specified createOptions and cacheOption.

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

public PngBitmapDecoder(
	Stream bitmapStream,
	BitmapCreateOptions createOptions,
	BitmapCacheOption cacheOption
)

Parameters

bitmapStream
Type: System.IO.Stream

The bitmap stream to decode.

createOptions
Type: System.Windows.Media.Imaging.BitmapCreateOptions

Initialization options for the bitmap image.

cacheOption
Type: System.Windows.Media.Imaging.BitmapCacheOption

The cache method to use for the bitmap image.

ExceptionCondition
ArgumentNullException

The bitmapStream value is null.

FileFormatException

The bitmapStream is not a Portable Network Graphics (PNG) 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 PngBitmapDecoder from a file stream. The decoded image is used as the source of an Image control.


// Open a Stream and decode a PNG image
Stream imageStreamSource = new FileStream("smiley.png", FileMode.Open, FileAccess.Read, FileShare.Read);
PngBitmapDecoder decoder = new PngBitmapDecoder(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

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft