Поделиться через


BitmapDecoder Класс

Определение

Предоставляет доступ на чтение к данным контейнера растровых рисунков, а также к данным из первого кадра.

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
Наследование
Object Platform::Object IInspectable BitmapDecoder
Атрибуты
Реализации

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Примеры

Ниже приведен частичный пример создания объекта декодера. В этом примере предполагается, что вы выбрали файл с windows.Storage.Pickers.FileOpenPicker. Полные инструкции по выбору файла, созданию декодера и декодированию изображения см. в разделе Создание образа.

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();
}

Комментарии

Форматы изображений

BitmapDecoder может декодировать следующие форматы.

  • JPEG
  • PNG
  • GIF
  • TIFF
  • BMP
  • ICO
  • JPEG-XR
  • Все установленные необработанные форматы камеры с помощью пакета кодека камеры Майкрософт.

Список форматов декодирования см. в разделе BitmapEncoder .

Класс BitmapDecoder реализует IBitmapFrame. Он предоставляет доступ к данным контейнера, а также к данным из первого кадра. Это позволяет приложениям выполнять большинство распространенных сценариев без необходимости извлечения отдельного битового кадра.

Журнал версий

Версия Windows Версия пакета SDK Добавленная стоимость
1809 17763 HeifDecoderId
1809 17763 WebpDecoderId

Свойства

BitmapAlphaMode

Альфа-режим первого кадра по умолчанию.

BitmapContainerProperties

Предоставляет доступ к свойствам растрового изображения контейнера.

BitmapPixelFormat

Формат пикселей, который лучше всего соответствует первому кадру.

BitmapProperties

Доступное только для чтения представление метаданных в первом кадре.

BmpDecoderId

Уникальный идентификатор декодера BMP.

DecoderInformation

Сведения о декодере растрового рисунка.

DpiX

Горизонтальное разрешение первого кадра в точках на дюйм.

DpiY

Вертикальное разрешение первого кадра в точках на дюйм.

FrameCount

Количество кадров в файле изображения.

GifDecoderId

Уникальный идентификатор декодирования GIF.

HeifDecoderId

Уникальный идентификатор декодера HEIF.

IcoDecoderId

Уникальный идентификатор декодера ICO.

JpegDecoderId

Уникальный идентификатор декодера JPEG.

JpegXRDecoderId

Уникальный идентификатор декодера JPEG-XR.

OrientedPixelHeight

Высота первого кадра в пикселях после применения любой ориентации EXIF к растровому рисунку.

OrientedPixelWidth

Ширина первого кадра в пикселях после применения любой ориентации EXIF к растровому рисунку.

PixelHeight

Высота первого кадра в пикселях.

PixelWidth

Ширина первого кадра в пикселях.

PngDecoderId

Уникальный идентификатор декодера PNG.

TiffDecoderId

Уникальный идентификатор декодера TIFF.

WebpDecoderId

Уникальный идентификатор декодера WebP.

Методы

CreateAsync(Guid, IRandomAccessStream)

Асинхронно создает новый BitmapDecoder с помощью определенного кодека растрового изображения и инициализирует его с помощью потока.

CreateAsync(IRandomAccessStream)

Асинхронно создает новый BitmapDecoder и инициализирует его с помощью потока.

GetDecoderInformationEnumerator()

Декодеры растровых изображений, установленные в системе, и сведения о них.

GetFrameAsync(UInt32)

Асинхронно извлекает кадр из файла изображения.

GetPixelDataAsync()

Асинхронно запрашивает пиксельные данные для кадра.

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

Асинхронно запрашивает пиксельные данные для кадра с помощью указанных параметров.

GetPreviewAsync()

Асинхронно возвращает поток, содержащий образ предварительного просмотра.

GetSoftwareBitmapAsync()

Асинхронно получает представление SoftwareBitmap декодированного растрового изображения.

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

Асинхронно получает представление SoftwareBitmap декодированного растрового изображения.

GetSoftwareBitmapAsync(BitmapPixelFormat, BitmapAlphaMode)

Асинхронно получает представление SoftwareBitmap декодированного растрового изображения.

GetThumbnailAsync()

Асинхронно возвращает поток, содержащий эскиз изображения.

Применяется к

См. также раздел