BitmapDecoder Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um contêiner para quadros de bitmap. Cada quadro de bitmap é um BitmapSource. Essa classe abstrata fornece um conjunto básico de funcionalidades para todos os objetos do decodificador derivados.
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
- Herança
- Derivado
Exemplos
O exemplo a seguir demonstra como usar o Create(Uri, BitmapCreateOptions, BitmapCacheOption) método para criar um decodificador para uma determinada imagem. O primeiro BitmapFrame da imagem é usado como a origem de um Image controle.
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)
O exemplo de código a seguir demonstra como usar o interno TiffBitmapDecoder para abrir e decodificar um bitmap TIFF (Formato de Arquivo de Imagem Marcada). O resultado BitmapSource é usado como um Source Image elemento.
// 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)
Comentários
BitmapDecoder não é um BitmapFrame próprio; em vez disso, é um contêiner para BitmapFrame objetos. Cada BitmapFrame um no contêiner pode ter atributos diferentes, incluindo tamanhos, resoluções ou paletas diferentes.
A menos que um codec específico seja selecionado, o Windows Presentation Foundation (WPF) usa a descoberta automática de tempo de execução para identificar o formato de uma imagem e combiná-la com o codec apropriado. Esse processo de descoberta permite que um codec desenvolvido por um ISV (fornecedor de software independente) seja descoberto automaticamente pelo sistema. Para selecionar um codec específico, o derivado BitmapDecoder ou BitmapEncoder, como a TiffBitmapDecoder classe, deve ser usado.
TIFF (Formato de Arquivo de Imagem Marcado) e GIF (Formato de Intercâmbio de Gráficos) são os únicos formatos de imagem implementados que dão suporte a vários quadros.
Construtores
BitmapDecoder() |
Inicializa uma nova instância de BitmapDecoder. |
Propriedades
CodecInfo |
Obtém informações que descrevem esse codec. |
ColorContexts |
Obterá um valor que representa o perfil de cor associado a um bitmap, se algum tiver sido definido. |
Dispatcher |
Obtém o Dispatcher ao qual este DispatcherObject está associado. (Herdado de DispatcherObject) |
Frames |
Obtém o conteúdo de um quadro individual dentro de um bitmap. |
IsDownloading |
Obtém um valor que indica se o decodificador está baixando conteúdo no momento. |
Metadata |
Obtém uma instância de BitmapMetadata que representa os metadados globais associados a esse bitmap se os metadados estão definidos. |
Palette |
Obtém o BitmapPalette associado a este decodificador. |
Preview |
Obtém um BitmapSource que representará a versão prévia global deste bitmap, se alguma for definida. |
Thumbnail |
Obtém um BitmapSource que representará a miniatura do bitmap, se alguma for definida. |
Métodos
CheckAccess() |
Determina se o thread de chamada tem acesso a este DispatcherObject. (Herdado de DispatcherObject) |
Create(Stream, BitmapCreateOptions, BitmapCacheOption) |
Cria um BitmapDecoder de um Stream usando o BitmapCreateOptions e o BitmapCacheOption especificados. |
Create(Uri, BitmapCreateOptions, BitmapCacheOption) |
Cria um BitmapDecoder de um Uri usando o BitmapCreateOptions e o BitmapCacheOption especificados. |
Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy) |
Cria um BitmapDecoder de um Uri usando o BitmapCreateOptions, BitmapCacheOption e RequestCachePolicy especificados. |
CreateInPlaceBitmapMetadataWriter() |
Cria uma instância de InPlaceBitmapMetadataWriter, que pode ser usada para atualizar os metadados de um bitmap. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
Finalize() |
Libera recursos e executa outras operações de limpeza antes que o BitmapDecoder seja reivindicado pela coleta de lixo. |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Converte o valor atual de um BitmapDecoder em um String. |
VerifyAccess() |
Impõe que o thread de chamada tenha acesso a este DispatcherObject. (Herdado de DispatcherObject) |
Eventos
DownloadCompleted |
Ocorre depois que um BitmapDecoder conclui o download do conteúdo do bitmap. |
DownloadFailed |
Ocorre quando há falha no download do conteúdo do bitmap. |
DownloadProgress |
Ocorre quando um BitmapDecoder progrediu no download do conteúdo do bitmap. |