BitmapDecoder Class

Definition

Provides read access to bitmap container data as well as data from the first frame.

C#
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class BitmapDecoder : IBitmapFrameWithSoftwareBitmap
Inheritance
Object BitmapDecoder
Attributes
Implements

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)

Examples

Here's a partial example of creating a decoder object. This example assumes you selected a file with Windows.Storage.Pickers.FileOpenPicker. For full instructions on selecting a file, creating an decoder, and decoding an image see Imaging

C#
FileOpenPicker fileOpenPicker = new FileOpenPicker();
fileOpenPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
fileOpenPicker.FileTypeFilter.Add(".jpg");
fileOpenPicker.ViewMode = PickerViewMode.Thumbnail;

var inputFile = await fileOpenPicker.PickSingleFileAsync();

if (inputFile == null)
{
    // The user cancelled the picking operation
    return;
}

SoftwareBitmap softwareBitmap;

using (IRandomAccessStream stream = await inputFile.OpenAsync(FileAccessMode.Read))
{
    // Create the decoder from the stream
    BitmapDecoder decoder = await BitmapDecoder.CreateAsync(stream);

    // Get the SoftwareBitmap representation of the file
    softwareBitmap = await decoder.GetSoftwareBitmapAsync();
}

Remarks

Image formats

BitmapDecoder can decode the following formats.

  • JPEG
  • PNG
  • GIF
  • TIFF
  • BMP
  • ICO
  • JPEG-XR
  • Any installed Camera raw formats by using the Microsoft Camera Codec Pack.

For a list of decoding formats, see the BitmapEncoder topic.

The BitmapDecoder class implements IBitmapFrame. It provides access to container data as well as data from the first frame. This allows applications to accomplish most common scenarios without needing to retrieve a separate BitmapFrame.

Version history

Windows version SDK version Value added
1809 17763 HeifDecoderId
1809 17763 WebpDecoderId

Properties

BitmapAlphaMode

The default alpha mode of the first frame.

BitmapContainerProperties

Provides access to the container bitmap properties.

BitmapPixelFormat

The pixel format that best fits the first frame.

BitmapProperties

A read-only view of the metadata within the first frame.

BmpDecoderId

The unique identifier of the BMP decoder.

DecoderInformation

Information about the bitmap decoder.

DpiX

The horizontal resolution of the first frame in dots per inch.

DpiY

The vertical resolution of the first frame in dots per inch.

FrameCount

The number of frames within the image file.

GifDecoderId

The unique identifier of the GIF decoder.

HeifDecoderId

The unique identifier of the HEIF decoder.

IcoDecoderId

The unique identifier of the ICO decoder.

JpegDecoderId

The unique identifier of the JPEG decoder.

JpegXRDecoderId

The unique identifier of the JPEG-XR decoder.

OrientedPixelHeight

The height of the first frame in pixels, after any EXIF orientation has been applied to the bitmap.

OrientedPixelWidth

The width of the first frame in pixels, after any EXIF orientation has been applied to the bitmap.

PixelHeight

The height of the first frame in pixels.

PixelWidth

The width of the first frame in pixels.

PngDecoderId

The unique identifier of the PNG decoder.

TiffDecoderId

The unique identifier of the TIFF decoder.

WebpDecoderId

The unique identifier of the WebP decoder.

Methods

CreateAsync(Guid, IRandomAccessStream)

Asynchronously creates a new BitmapDecoder using a specific bitmap codec and initializes it using a stream.

CreateAsync(IRandomAccessStream)

Asynchronously creates a new BitmapDecoder and initializes it using a stream.

GetDecoderInformationEnumerator()

The bitmap decoders installed on the system and information about them.

GetFrameAsync(UInt32)

Asynchronously retrieves a frame from the image file.

GetPixelDataAsync()

Asynchronously requests the pixel data for the frame.

GetPixelDataAsync(BitmapPixelFormat, BitmapAlphaMode, BitmapTransform, ExifOrientationMode, ColorManagementMode)

Asynchronously requests the pixel data for the frame using the specified parameters.

GetPreviewAsync()

Asynchronously returns a stream containing the preview image.

GetSoftwareBitmapAsync()

Asynchronously gets a SoftwareBitmap representation of the decoded bitmap.

GetSoftwareBitmapAsync(BitmapPixelFormat, BitmapAlphaMode, BitmapTransform, ExifOrientationMode, ColorManagementMode)

Asynchronously gets a SoftwareBitmap representation of the decoded bitmap.

GetSoftwareBitmapAsync(BitmapPixelFormat, BitmapAlphaMode)

Asynchronously gets a SoftwareBitmap representation of the decoded bitmap.

GetThumbnailAsync()

Asynchronously returns a stream containing the thumbnail image.

Applies to

Ürün Sürümler
WinRT Build 10240, Build 10586, Build 14383, Build 15063, Build 16299, Build 17134, Build 17763, Build 18362, Build 19041, Build 20348, Build 22000, Build 22621, Build 26100

See also