Compartir a través de


BitmapDecoder Clase

Definición

Representa un contenedor de marcos de mapa de bits. Cada marco de mapa de bits es una clase BitmapSource. Esta clase abstracta proporciona un conjunto base de funciones para todos los objetos derivados del decodificador.

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
Herencia
BitmapDecoder
Derivado

Ejemplos

En el ejemplo siguiente se muestra cómo usar el Create(Uri, BitmapCreateOptions, BitmapCacheOption) método para crear un descodificador para una imagen determinada. La primera BitmapFrame de la imagen se usa como origen de un Image control.

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)

En el ejemplo de código siguiente se muestra cómo usar el elemento integrado TiffBitmapDecoder para abrir y descodificar un mapa de bits de formato de archivo de imagen etiquetado (TIFF). El resultado BitmapSource se usa como de Source 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)

Comentarios

BitmapDecoder no es un BitmapFrame propio; en su lugar, es un contenedor para BitmapFrame objetos. Cada BitmapFrame uno de los contenedores puede tener atributos diferentes, incluidos diferentes tamaños, resoluciones o paletas.

A menos que se seleccione un códec específico, Windows Presentation Foundation (WPF) usa la detección automática en tiempo de ejecución para identificar el formato de una imagen y hacer coincidirlo con el códec adecuado. Este proceso de detección permite que el sistema pueda detectar automáticamente un códec desarrollado por un proveedor de software independiente (ISV). Para seleccionar un códec específico, se debe usar el derivado BitmapDecoder o BitmapEncoder, como la TiffBitmapDecoder clase .

El formato de archivo de imagen etiquetado (TIFF) y el formato de intercambio de gráficos (GIF) son los únicos formatos de imagen implementados que admiten varios fotogramas.

Constructores

BitmapDecoder()

Inicializa una nueva instancia de la clase BitmapDecoder.

Propiedades

CodecInfo

Obtiene información que describe este códec.

ColorContexts

Obtiene un valor que representa el perfil de color asociado a un mapa de bits, si se ha definido uno.

Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.

(Heredado de DispatcherObject)
Frames

Obtiene el contenido de un fotograma individual dentro de un mapa de bits.

IsDownloading

Obtiene un valor que indica si el decodificador está descargando contenido actualmente.

Metadata

Obtiene una instancia de BitmapMetadata que representa los metadatos globales asociados a este mapa de bits, si hay metadatos definidos.

Palette

Obtiene la clase BitmapPalette asociada a este descodificador.

Preview

Obtiene una clase BitmapSource que representa la vista previa global de este mapa de bits, si hay alguno definido.

Thumbnail

Obtiene BitmapSource que representa la miniatura del mapa de bits, si se ha definido uno.

Métodos

CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.

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

Crea una clase BitmapDecoder a partir de un Stream mediante las enumeraciones BitmapCreateOptions y BitmapCacheOption especificadas.

Create(Uri, BitmapCreateOptions, BitmapCacheOption)

Crea una clase BitmapDecoder a partir de un Uri mediante las enumeraciones BitmapCreateOptions y BitmapCacheOption especificadas.

Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy)

Crea un BitmapDecoder a partir de un Uri mediante las BitmapCreateOptions, BitmapCacheOption y RequestCachePolicy especificadas.

CreateInPlaceBitmapMetadataWriter()

Crea una instancia de InPlaceBitmapMetadataWriter, que puede usarse para actualizar los metadatos de un mapa de bits.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Finalize()

Libera recursos y realiza otras operaciones de limpieza antes de que se reclame el elemento BitmapDecoder durante la recolección de elementos no usados.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Convierte el valor actual de un objeto BitmapDecoder en String.

VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.

(Heredado de DispatcherObject)

Eventos

DownloadCompleted

Se produce cuando BitmapDecoder ha terminado de descargar el contenido de mapa de bits.

DownloadFailed

Se produce cuando hay un error de descarga del contenido de mapa de bits.

DownloadProgress

Se produce cuando BitmapDecoder avanza en la descarga del contenido de mapa de bits.

Se aplica a

Consulte también