BitmapDecoder Classe

Definição

Representa um contêiner para quadros de bitmap. Cada quadro de bitmap é um BitmapSource. Essa classe abstrata fornece um conjunto base de funcionalidades para todos os objetos decodificadores 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 TiffBitmapDecoder interno para abrir e decodificar um bitmap TIFF (Tagged Image File Format). O resultado BitmapSource é usado como um SourceImage 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 esteja selecionado, Windows Presentation Foundation (WPF) usa a descoberta automática em 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 automaticamente detectável 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

Nome Description
BitmapDecoder()

Inicializa uma nova instância de BitmapDecoder.

Propriedades

Nome Description
CodecInfo

Obtém informações que descrevem este codec.

ColorContexts

Obtém um valor que representa o perfil de cor associado a um bitmap, se um for definido.

Dispatcher

Obtém o Dispatcher que DispatcherObject está associado.

(Herdado de DispatcherObject)
Frames

Obtém o conteúdo de um quadro individual em um bitmap.

IsDownloading

Obtém um valor que indica se o decodificador está baixando conteúdo no momento.

Metadata

Obtém uma instância que BitmapMetadata representa os metadados globais associados a esse bitmap, se os metadados forem definidos.

Palette

Obtém o BitmapPalette associado a esse decodificador.

Preview

Obtém um BitmapSource que representa a visualização global deste bitmap, se um for definido.

Thumbnail

Obtém um BitmapSource que representa a miniatura do bitmap, se um for definido.

Métodos

Nome Description
CheckAccess()

Determina se o thread de chamada tem acesso a isso DispatcherObject.

(Herdado de DispatcherObject)
Create(Stream, BitmapCreateOptions, BitmapCacheOption)

Cria um BitmapDecoder a partir de um Stream usando o especificado BitmapCreateOptions e BitmapCacheOption.

Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy)

Cria um BitmapDecoder de um Uri usando o especificado BitmapCreateOptionse BitmapCacheOptionRequestCachePolicy.

Create(Uri, BitmapCreateOptions, BitmapCacheOption)

Cria um BitmapDecoder a partir de um Uri usando o especificado BitmapCreateOptions e BitmapCacheOption.

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 ela BitmapDecoder seja recuperada pela coleta de lixo.

GetHashCode()

Serve como a função hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(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 isso DispatcherObject.

(Herdado de DispatcherObject)

Eventos

Nome Description
DownloadCompleted

Ocorre quando um BitmapDecoder conteúdo de bitmap foi concluído.

DownloadFailed

Ocorre quando o conteúdo do bitmap não foi baixado.

DownloadProgress

Ocorre quando um BitmapDecoder progresso fez o download do conteúdo do bitmap.

Aplica-se a

Confira também