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 объект используется в качестве 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 завершает очередной этап загрузки содержимого растрового изображения. |