Partilhar via


BitmapDecoder Classe

Definição

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
BitmapDecoder
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.

Aplica-se a

Confira também