Freigeben über


BitmapDecoder Klasse

Definition

Stellt einen Container für Bitmapframes dar. Jeder Bitmapframe ist eine BitmapSource. Diese abstrakte Klasse stellt einen Basissatz an Funktionalität für alle abgeleiteten Decoderobjekte bereit.

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
Vererbung
BitmapDecoder
Abgeleitet

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie die Create(Uri, BitmapCreateOptions, BitmapCacheOption) Methode zum Erstellen eines Decoders für ein bestimmtes Bild verwenden. Das erste BitmapFrame Bild wird als Quelle eines Image Steuerelements verwendet.

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)

Im folgenden Codebeispiel wird veranschaulicht, wie Sie das integrierte TiffBitmapDecoder Objekt verwenden, um eine Tagged Image File Format (TIFF)-Bitmap zu öffnen und zu entschlüsseln. Das Ergebnis BitmapSource wird als Element Source Image verwendet.


// 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)

Hinweise

BitmapDecoder ist nicht selbst BitmapFrame , sondern es ist ein Container für BitmapFrame Objekte. Jeder BitmapFrame im Container kann möglicherweise verschiedene Attribute haben, einschließlich unterschiedlicher Größen, Auflösungen oder Paletten.

Es sei denn, ein bestimmter Codec ist ausgewählt, Windows Presentation Foundation (WPF) verwendet die automatische Laufzeitermittlung, um das Format eines Bilds zu identifizieren und mit dem entsprechenden Codec übereinzugleichen. Mit diesem Ermittlungsprozess kann ein von einem unabhängigen Softwareanbieter (ISV) entwickelter Codec automatisch vom System erkannt werden. Um einen bestimmten Codec auszuwählen, sollte die abgeleitete BitmapDecoder oder BitmapEncoder, z. B. die TiffBitmapDecoder Klasse, verwendet werden.

Tagged Image File Format (TIFF) und Graphics Interchange Format (GIF) sind die einzigen implementierten Bildformate, die mehrere Frames unterstützen.

Konstruktoren

BitmapDecoder()

Initialisiert eine neue Instanz von BitmapDecoder.

Eigenschaften

CodecInfo

Ruft Informationen ab, die diesen Codec beschreiben.

ColorContexts

Ruft einen Wert ab, der das Farbprofil darstellt, das einer Bitmap zugeordnet ist, falls eine definiert ist.

Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.

(Geerbt von DispatcherObject)
Frames

Ruft den Inhalt eines einzelnen Frames innerhalb einer Bitmap ab.

IsDownloading

Ruft einen Wert ab, der angibt, ob der Decoder gegenwärtig Inhalt herunterlädt.

Metadata

Ruft eine Instanz von BitmapMetadata ab, die die diesem Bitmap zugeordneten globalen Metadaten darstellt (sofern Metadaten definiert sind).

Palette

Ruft die BitmapPalette ab, die diesem Decoder zugeordnet ist.

Preview

Ruft eine BitmapSource ab, die die globale Vorschau der Bitmap darstellt, sofern eine definiert ist.

Thumbnail

Ruft eine BitmapSource ab, die die Miniaturansicht der Bitmap darstellt, sofern eine definiert ist.

Methoden

CheckAccess()

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
Create(Stream, BitmapCreateOptions, BitmapCacheOption)

Erstellt mithilfe der angegebenen BitmapDecoder und Stream einen BitmapCreateOptions aus einem BitmapCacheOption.

Create(Uri, BitmapCreateOptions, BitmapCacheOption)

Erstellt mithilfe der angegebenen BitmapDecoder und Uri einen BitmapCreateOptions aus einem BitmapCacheOption.

Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy)

Erstellt mithilfe der angegebenen BitmapDecoder, der angegebenen Uri und der angegebenen BitmapCreateOptions einen BitmapCacheOption aus einem RequestCachePolicy.

CreateInPlaceBitmapMetadataWriter()

Erstellt eine Instanz von InPlaceBitmapMetadataWriter, die verwendet werden kann, um die Metadaten einer Bitmap zu aktualisieren.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Finalize()

Gibt Ressourcen frei und führt andere Bereinigungsvorgänge durch, bevor das BitmapDecoder durch die Garbage Collection wieder freigegeben wird.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Konvertiert den aktuellen Wert eines BitmapDecoder in einen String.

VerifyAccess()

Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)

Ereignisse

DownloadCompleted

Tritt auf, wenn der Download von Bitmapinhalt von einem BitmapDecoder beendet wurde.

DownloadFailed

Tritt auf, wenn Bitmapinhalt nicht heruntergeladen werden konnte.

DownloadProgress

Tritt auf, wenn sich der Status des Downloadvorgangs für Bitmapinhalt von einem BitmapDecoder geändert wird.

Gilt für

Siehe auch