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
- Наследование
- Атрибуты
- Реализации
Требования к 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() |
Асинхронно возвращает поток, содержащий эскиз изображения. |
Применяется к
См. также раздел
- Пример анимированного воспроизведения GIF (XAML) (Windows 10)
- Пример OCR (Windows 10)
- Пример разрешения камеры (Windows 10)
- Пример приложения для базовой камеры (Windows 10)
- Пример стабилизации видео (Windows 10)
- Пример обнаружения лиц камеры (Windows 10)
- Пример элементов управления камерой вручную (Windows 10)
- Пример с высоким динамическим диапазоном (Windows 10)
- Пример расширенного захвата камеры