BitmapDecoder Класс

Определение

Представляет контейнер для кадров растрового изображения. Каждый кадр растрового изображения является объектом BitmapSource. Этот абстрактный класс предоставляет базовый набор функций для всех производных объектов декодеров.

public ref class BitmapDecoder abstract : System::Windows::Threading::DispatcherObject
public abstract class BitmapDecoder : System.Windows.Threading.DispatcherObject
type BitmapDecoder = class
    inherit DispatcherObject
Public MustInherit Class BitmapDecoder
Inherits DispatcherObject
Наследование
BitmapDecoder
Производный

Примеры

В следующем примере показано, как использовать Create(Uri, BitmapCreateOptions, BitmapCacheOption) метод для создания декодера для заданного изображения. Первый BitmapFrame образ используется в качестве источника Image элемента управления.

BitmapDecoder uriBitmap = BitmapDecoder.Create(
   new Uri("sampleImages/waterlilies.jpg", UriKind.Relative),
   BitmapCreateOptions.None,
   BitmapCacheOption.Default);

// Create an image element;
Image uriImage = new Image();
uriImage.Width = 200;
// Set image source.
uriImage.Source = uriBitmap.Frames[0];
Dim uriBitmap As BitmapDecoder = BitmapDecoder.Create(New Uri("sampleImages/waterlilies.jpg", UriKind.Relative), BitmapCreateOptions.None, BitmapCacheOption.Default)

' Create an image element;
Dim uriImage As New Image()
uriImage.Width = 200
' Set image source.
uriImage.Source = uriBitmap.Frames(0)

В следующем примере кода показано, как использовать встроенную TiffBitmapDecoder карту для открытия и декодирования растрового изображения в формате TIFF. Результирующий BitmapSource объект используется в качестве Source Image элемента.


// Open a Stream and decode a TIFF image
Stream imageStreamSource = new FileStream("tulipfarm.tif", FileMode.Open, FileAccess.Read, FileShare.Read);
TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource = decoder.Frames[0];

// Draw the Image
Image myImage1 = new Image();
myImage1.Source = bitmapSource;
myImage1.Stretch = Stretch.None;
myImage1.Margin = new Thickness(20);
' Open a Stream and decode a TIFF image
Dim imageStreamSource As New FileStream("tulipfarm.tif", FileMode.Open, FileAccess.Read, FileShare.Read)
Dim decoder As New TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default)
Dim bitmapSource As BitmapSource = decoder.Frames(0)

' Draw the Image
Dim myImage1 As New Image()
myImage1.Source = bitmapSource
myImage1.Stretch = Stretch.None
myImage1.Margin = New Thickness(20)

Комментарии

BitmapDecoder не BitmapFrame само по себе, а контейнер для BitmapFrame объектов. Каждый BitmapFrame из контейнеров может иметь разные атрибуты, включая различные размеры, разрешения или палитры.

Если не выбран определенный кодек, Windows Presentation Foundation (WPF) использует автоматическое обнаружение во время выполнения, чтобы определить формат изображения и сопоставить его с соответствующим кодеком. Этот процесс обнаружения позволяет кодеку, разработанному независимым поставщиком программного обеспечения (ISV), автоматически обнаруживать системой. Чтобы выбрать определенный кодек, производный BitmapDecoder или BitmapEncoder( например TiffBitmapDecoder , класс), следует использовать.

Формат файлов изображений с тегами (TIFF) и формат графического обмена (GIF) — это единственные форматы изображений, поддерживающие несколько кадров.

Конструкторы

BitmapDecoder()

Инициализирует новый экземпляр BitmapDecoder.

Свойства

CodecInfo

Получает сведения, описывающие этот кодек.

ColorContexts

Получает значение, представляющее цветовой профиль, связанный с растровым изображением, если он задан.

Dispatcher

Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject.

(Унаследовано от DispatcherObject)
Frames

Получает содержимое отдельных кадров в точечном рисунке.

IsDownloading

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

Metadata

Возвращает экземпляр класса BitmapMetadata, представляющий глобальные метаданные, связанные с этим растровым изображением, если метаданные определены.

Palette

Получает объект BitmapPalette, связанный с этим декодером.

Preview

Возвращает объект BitmapSource, представляющий глобальный предварительный просмотр растрового изображения, если он определен.

Thumbnail

Возвращает объект BitmapSource, представляющий эскиз растрового изображения, если он определен.

Методы

CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)
Create(Stream, BitmapCreateOptions, BitmapCacheOption)

Создает BitmapDecoder из Stream с использованием заданных BitmapCreateOptions и BitmapCacheOption.

Create(Uri, BitmapCreateOptions, BitmapCacheOption)

Создает BitmapDecoder из Uri с использованием заданных BitmapCreateOptions и BitmapCacheOption.

Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy)

Создает BitmapDecoder из Uri с использованием заданных BitmapCreateOptions, BitmapCacheOption и RequestCachePolicy.

CreateInPlaceBitmapMetadataWriter()

Создает экземпляр InPlaceBitmapMetadataWriter, который можно использовать для обновления метаданных растрового изображения.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Finalize()

Освобождает ресурсы и выполняет другие операции очистки, перед тем как объект BitmapDecoder будет удален при сборке мусора.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Преобразует текущее значение объекта BitmapDecoder в String.

VerifyAccess()

Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)

События

DownloadCompleted

Происходит, если BitmapDecoder завершает загрузку содержимого растрового изображения.

DownloadFailed

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

DownloadProgress

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

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

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