BitmapDecoder Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides read access to bitmap container data as well as data from the first frame.
public ref class BitmapDecoder sealed : IBitmapFrameWithSoftwareBitmap
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class BitmapDecoder final : IBitmapFrameWithSoftwareBitmap
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class BitmapDecoder : IBitmapFrameWithSoftwareBitmap
Public NotInheritable Class BitmapDecoder
Implements IBitmapFrameWithSoftwareBitmap
- Inheritance
- 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
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
See also
- Animated GIF playback (XAML) sample (Windows 10)
- OCR sample (Windows 10)
- Camera resolution sample (Windows 10)
- Basic camera app sample (Windows 10)
- Video stabilization sample (Windows 10)
- Camera face detection sample (Windows 10)
- Manual camera controls sample (Windows 10)
- High dynamic range sample (Windows 10)
- Camera Advanced Capture sample