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
- Наследование
- Производный
Примеры
В следующем примере показано, как использовать 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 элемент используется в качестве SourceImage элемента.
// 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 из объекта с помощью указанного StreamBitmapCreateOptions и BitmapCacheOption. |
| Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy) |
Создает объект BitmapDecoder из Uri объекта с помощью указанного BitmapCreateOptionsи BitmapCacheOptionRequestCachePolicy. |
| Create(Uri, BitmapCreateOptions, BitmapCacheOption) |
Создает объект BitmapDecoder из объекта с помощью указанного UriBitmapCreateOptions и BitmapCacheOption. |
| 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 . |