BitmapDecoder Classe

Definizione

Rappresenta un contenitore per i frame bitmap. Ogni frame bitmap è un oggetto BitmapSource. Questa classe astratta fornisce un set di funzionalità di base per tutti gli oggetti decodificatori derivati.

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
Ereditarietà
BitmapDecoder
Derivato

Esempio

Nell'esempio seguente viene illustrato come usare il Create(Uri, BitmapCreateOptions, BitmapCacheOption) metodo per creare un decodificatore per una determinata immagine. Il primo BitmapFrame dell'immagine viene usato come origine di un Image controllo.

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)

L'esempio di codice seguente illustra come usare l'oggetto predefinito TiffBitmapDecoder per aprire e decodificare una bitmap TIFF (Tagged Image File Format). L'oggetto risultante BitmapSource viene utilizzato come oggetto Source di un 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)

Commenti

BitmapDecoder non è un oggetto BitmapFrame stesso, ma è un contenitore per BitmapFrame gli oggetti. Ognuno BitmapFrame nel contenitore può avere attributi diversi, tra cui dimensioni, risoluzioni o tavolozze diverse.

A meno che non sia selezionato un codec specifico, Windows Presentation Foundation (macchine virtuali Windows) usa l'individuazione automatica della fase di esecuzione per identificare il formato di un'immagine e associarlo al codec appropriato. Questo processo di individuazione consente a un codec sviluppato da un fornitore di software indipendente (ISV) di essere individuabile automaticamente dal sistema. Per selezionare un codec specifico, è necessario usare l'oggetto derivato BitmapDecoder o BitmapEncoder, ad esempio la TiffBitmapDecoder classe .

Il formato TIFF (Tagged Image File Format) e il formato GIF (Graphics Interchange Format) sono gli unici formati di immagine implementati che supportano più fotogrammi.

Costruttori

Nome Descrizione
BitmapDecoder()

Inizializza una nuova istanza di BitmapDecoder.

Proprietà

Nome Descrizione
CodecInfo

Ottiene informazioni che descrivono questo codec.

ColorContexts

Ottiene un valore che rappresenta il profilo colore associato a una bitmap, se definito.

Dispatcher

Ottiene l'oggetto DispatcherDispatcherObject a cui è associato.

(Ereditato da DispatcherObject)
Frames

Ottiene il contenuto di un singolo frame all'interno di una bitmap.

IsDownloading

Ottiene un valore che indica se il decodificatore sta attualmente scaricando il contenuto.

Metadata

Ottiene un'istanza di BitmapMetadata che rappresenta i metadati globali associati a questa bitmap, se vengono definiti i metadati.

Palette

Ottiene l'oggetto BitmapPalette associato a questo decodificatore.

Preview

Ottiene un oggetto BitmapSource che rappresenta l'anteprima globale di questa bitmap, se definito.

Thumbnail

Ottiene un oggetto BitmapSource che rappresenta l'anteprima della bitmap, se definita.

Metodi

Nome Descrizione
CheckAccess()

Determina se il thread chiamante ha accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)
Create(Stream, BitmapCreateOptions, BitmapCacheOption)

Crea un oggetto BitmapDecoder da un Stream oggetto utilizzando l'oggetto specificato BitmapCreateOptions e BitmapCacheOption.

Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy)

Crea un oggetto BitmapDecoder da un Uri oggetto utilizzando l'oggetto specificato BitmapCreateOptionsBitmapCacheOption e RequestCachePolicy.

Create(Uri, BitmapCreateOptions, BitmapCacheOption)

Crea un oggetto BitmapDecoder da un Uri oggetto utilizzando l'oggetto specificato BitmapCreateOptions e BitmapCacheOption.

CreateInPlaceBitmapMetadataWriter()

Crea un'istanza di InPlaceBitmapMetadataWriter, che può essere usata per aggiornare i metadati di una bitmap.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Libera le risorse ed esegue altre operazioni di pulizia prima che venga BitmapDecoder recuperato da Garbage Collection.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Converte il valore corrente di un oggetto BitmapDecoder in un oggetto String.

VerifyAccess()

Impone che il thread chiamante abbia accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)

Eventi

Nome Descrizione
DownloadCompleted

Si verifica quando un oggetto BitmapDecoder ha terminato il download del contenuto bitmap.

DownloadFailed

Si verifica quando il download del contenuto bitmap non è riuscito.

DownloadProgress

Si verifica quando un oggetto BitmapDecoder ha effettuato lo stato di avanzamento del download del contenuto bitmap.

Si applica a

Vedi anche