BitmapSource Clase

Definición

Representa un solo conjunto constante de píxeles con un tamaño y resolución determinados.Represents a single, constant set of pixels at a certain size and resolution.

public ref class BitmapSource abstract : System::Windows::Media::ImageSource
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
public abstract class BitmapSource : System.Windows.Media.ImageSource
type BitmapSource = class
    inherit ImageSource
    interface DUCE.IResource
Public MustInherit Class BitmapSource
Inherits ImageSource
Herencia
Derivado
Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear un BitmapSource y usarlo como el origen de un control Image.The following code example demonstrates how to create a BitmapSource and use it as the source of an Image control.

// Define parameters used to create the BitmapSource.
PixelFormat pf = PixelFormats.Bgr32;
int width = 200;
int height = 200;
int rawStride = (width * pf.BitsPerPixel + 7) / 8;
byte[] rawImage = new byte[rawStride * height];

// Initialize the image with data.
Random value = new Random();
value.NextBytes(rawImage);

// Create a BitmapSource.
BitmapSource bitmap = BitmapSource.Create(width, height,
    96, 96, pf, null,
    rawImage, rawStride);

// Create an image element;
Image myImage = new Image();
myImage.Width = 200;
// Set image source.
myImage.Source = bitmap;
' Define parameters used to create the BitmapSource.
Dim pf As PixelFormat = PixelFormats.Bgr32
Dim width As Integer = 200
Dim height As Integer = 200
Dim rawStride As Integer = CType((width * pf.BitsPerPixel + 7) / 8, Integer)
Dim rawImage(rawStride * height) As Byte

' Initialize the image with data.
Dim value As New Random()
value.NextBytes(rawImage)

' Create a BitmapSource.
Dim bitmap As BitmapSource = BitmapSource.Create(width, height, 96, 96, pf, Nothing, rawImage, rawStride)

' Create an image element;
Dim myImage As New Image()
myImage.Width = 200
' Set image source.
myImage.Source = bitmap

En el ejemplo de código siguiente se usa una clase derivada BitmapSource, BitmapImage, para crear un mapa de bits a partir de un archivo de imagen y usarlo como el origen de un control Image.The following code example uses a BitmapSource derived class, BitmapImage, to create a bitmap from an image file and use it as the source of an Image control.

// Create the image element.
Image simpleImage = new Image();    
simpleImage.Width = 200;
simpleImage.Margin = new Thickness(5);

// Create source.
BitmapImage bi = new BitmapImage();
// BitmapImage.UriSource must be in a BeginInit/EndInit block.
bi.BeginInit();
bi.UriSource = new Uri(@"/sampleImages/cherries_larger.jpg",UriKind.RelativeOrAbsolute);
bi.EndInit();
// Set the image source.
simpleImage.Source = bi;
' Create the image element.
Dim simpleImage As New Image()
simpleImage.Width = 200
simpleImage.Margin = New Thickness(5)

' Create source.
Dim bi As New BitmapImage()
' BitmapImage.UriSource must be in a BeginInit/EndInit block.
bi.BeginInit()
bi.UriSource = New Uri("/sampleImages/cherries_larger.jpg", UriKind.RelativeOrAbsolute)
bi.EndInit()
' Set the image source.
simpleImage.Source = bi

Comentarios

BitmapSource es el bloque de creación básico de la canalización de imágenes de Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF), que representa conceptualmente un solo conjunto constante de píxeles con un tamaño y resolución determinados.BitmapSource is the basic building block of the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) imaging pipeline, conceptually representing a single, constant set of pixels at a certain size and resolution. Un BitmapSource podría ser un único fotograma en un archivo de imagen que un descodificador proporcione, o podría ser el resultado de una transformación que opere en BitmapSource de su propio.A BitmapSource could be a single frame in an image file that a decoder provides, or it could be the result of a transform that operates on a BitmapSource of its own. BitmapSource no se utiliza para representar una imagen de varios marcos o una animación.BitmapSource is not used to represent a multi-frame image or an animation.

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) admite de forma nativa la compresión y descompresión de las imágenes mapa de bits (BMP)bitmap (BMP), Formato de intercambio de gráficos (GIF)Graphics Interchange Format (GIF), Joint Photographics Experts Group (JPEG)Joint Photographics Experts Group (JPEG), Formato PNG (Portable Network Graphics)Portable Network Graphics (PNG) y Tagged Image File Format (TIFF)Tagged Image File Format (TIFF).natively supports compression and decompression of mapa de bits (BMP)bitmap (BMP), Formato de intercambio de gráficos (GIF)Graphics Interchange Format (GIF), Joint Photographics Experts Group (JPEG)Joint Photographics Experts Group (JPEG), Formato PNG (Portable Network Graphics)Portable Network Graphics (PNG), and Tagged Image File Format (TIFF)Tagged Image File Format (TIFF) images.

En escenarios de descodificación de mapas de bits, BitmapSource usa la detección automática de códecs, en función de los códecs instalados en el sistema del usuario.For bitmap decoding scenarios, BitmapSource uses automatic codec discovery, based on the installed codecs on the user's system.

El alto y el ancho máximos de una imagen es de 2 ^ 16 píxeles en 32 bits por canal * 4 canales.The maximum height and width of an image is 2^16 pixels at 32 bits per channel * 4 channels. El tamaño máximo de una BitmapSource es 2 ^ 32 bytes (64 gigabytes) y el tamaño máximo de la imagen es de cuatro Gigapixels.The maximum size of a BitmapSource is 2^32 bytes (64 gigabytes) and the maximum image size is four gigapixels. El tamaño mínimo de la imagen es de 1 x 1.The minimum image size is 1x1.

Constructores

BitmapSource()

Inicializa una nueva instancia de la clase BitmapSource.Initializes a new instance of the BitmapSource class.

Propiedades

CanFreeze

Obtiene un valor que indica si el objeto se puede convertir en no modificable.Gets a value that indicates whether the object can be made unmodifiable.

(Heredado de Freezable)
DependencyObjectType

Obtiene el objeto DependencyObjectType que ajusta el tipo CLRCLR de esta instancia.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Heredado de DependencyObject)
Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Heredado de DispatcherObject)
DpiX

Obtiene los puntos por pulgada (dpi)dots per inch (dpi) horizontales de la imagen.Gets the horizontal puntos por pulgada (dpi)dots per inch (dpi) of the image.

DpiY

Obtiene los puntos por pulgada (dpi)dots per inch (dpi) verticales de la imagen.Gets the vertical puntos por pulgada (dpi)dots per inch (dpi) of the image.

Format

Obtiene el PixelFormat nativo de los datos del mapa de bits.Gets the native PixelFormat of the bitmap data.

HasAnimatedProperties

Obtiene un valor que indica si uno o más objetos AnimationClock se asocian a cualquiera de las propiedades de dependencia de este objeto.Gets a value that indicates whether one or more AnimationClock objects is associated with any of this object's dependency properties.

(Heredado de Animatable)
Height

Obtiene el alto del mapa de bits de origen en unidades independientes de dispositivo (1/96 de pulgada por unidad)device-independent units (1/96th inch per unit).Gets the height of the source bitmap in unidades independientes de dispositivo (1/96 de pulgada por unidad)device-independent units (1/96th inch per unit).

IsDownloading

Obtiene un valor que indica si el contenido de BitmapSource se está descargando actualmente.Gets a value that indicates whether the BitmapSource content is currently downloading.

IsFrozen

Obtiene un valor que indica si el objeto se puede modificar actualmente.Gets a value that indicates whether the object is currently modifiable.

(Heredado de Freezable)
IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura).Gets a value that indicates whether this instance is currently sealed (read-only).

(Heredado de DependencyObject)
Metadata

Obtiene los metadatos asociados a esta imagen de mapa de bits.Gets the metadata that is associated with this bitmap image.

Palette

Obtiene la paleta de colores del mapa de bits, si se especifica una.Gets the color palette of the bitmap, if one is specified.

PixelHeight

Obtiene el alto del mapa de bits en píxeles.Gets the height of the bitmap in pixels.

PixelWidth

Obtiene el ancho del mapa de bits en píxeles.Gets the width of the bitmap in pixels.

Width

Obtiene el ancho del mapa de bits en unidades independientes de dispositivo (1/96 de pulgada por unidad)device-independent units (1/96th inch per unit).Gets the width of the bitmap in unidades independientes de dispositivo (1/96 de pulgada por unidad)device-independent units (1/96th inch per unit).

Métodos

ApplyAnimationClock(DependencyProperty, AnimationClock)

Se aplica AnimationClock al valor de DependencyProperty especificado.Applies an AnimationClock to the specified DependencyProperty. Si la propiedad ya está animada, se usa el comportamiento de entrega SnapshotAndReplace.If the property is already animated, the SnapshotAndReplace handoff behavior is used.

(Heredado de Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Se aplica AnimationClock al valor de DependencyProperty especificado.Applies an AnimationClock to the specified DependencyProperty. Si la propiedad ya está animada, se usa el objeto HandoffBehavior especificado.If the property is already animated, the specified HandoffBehavior is used.

(Heredado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Aplica una animación a la DependencyProperty especificada.Applies an animation to the specified DependencyProperty. La animación se inicia al representar el siguiente fotograma.The animation is started when the next frame is rendered. Si la propiedad especificada ya está animada, se usa el comportamiento de entrega SnapshotAndReplace.If the specified property is already animated, the SnapshotAndReplace handoff behavior is used.

(Heredado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Aplica una animación a la DependencyProperty especificada.Applies an animation to the specified DependencyProperty. La animación se inicia al representar el siguiente fotograma.The animation is started when the next frame is rendered. Si la propiedad especificada ya está animada, se usa el objeto HandoffBehavior especificado.If the specified property is already animated, the specified HandoffBehavior is used.

(Heredado de Animatable)
CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)
CheckIfSiteOfOrigin()

Comprueba si el contenido de origen del mapa de bits es de un sitio de origen conocido.Checks whether the bitmap source content is from a known site of origin. Este método se utiliza para asegurarse de que las operaciones de copia son seguras.This method is used to make sure that pixel copying operations are safe.

ClearValue(DependencyProperty)

Borra el valor local de una propiedad.Clears the local value of a property. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

(Heredado de DependencyObject)
ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura.Clears the local value of a read-only property. La propiedad que se va a borrar se especifica mediante un DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

(Heredado de DependencyObject)
Clone()

Crea un clon modificable de este BitmapSource y hace copias en profundidad de los valores de este objeto.Creates a modifiable clone of this BitmapSource, making deep copies of this object's values. Cuando se copian propiedades de dependencia, este método copia las referencias de recursos y enlaces de datos (aunque podrían no resolverse), pero no copia las animaciones ni sus valores actuales.When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values.

CloneCore(Freezable)

Convierte esta instancia en una copia en profundidad del valor de BitmapSource especificado.Makes this instance a deep copy of the specified BitmapSource. Cuando se copian propiedades de dependencia, este método copia las referencias de recursos y enlaces de datos (aunque podrían no resolverse), pero no copia las animaciones ni sus valores actuales.When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values.

CloneCurrentValue()

Crea un clon modificable de este objeto BitmapSource y hace copias en profundidad de sus valores actuales.Creates a modifiable clone of this BitmapSource object, making deep copies of this object's current values. Las referencias de recursos, los enlaces de datos y las animaciones no se copian, pero sí sus valores actuales.Resource references, data bindings, and animations are not copied, but their current values are.

CloneCurrentValueCore(Freezable)

Convierte esta instancia en una copia en profundidad modificable del BitmapSource especificado mediante los valores de propiedad actuales.Makes this instance a modifiable deep copy of the specified BitmapSource using current property values. Las referencias de recursos, los enlaces de datos y las animaciones no se copian, pero sí sus valores actuales.Resource references, data bindings, and animations are not copied, but their current values are.

CoerceValue(DependencyProperty)

Convierte el valor de la propiedad de dependencia especificada.Coerces the value of the specified dependency property. Esto se logra invocando cualquier función CoerceValueCallback especificada en los metadatos de la propiedad de dependencia tal como existe en la clase DependencyObject que llama.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Heredado de DependencyObject)
CopyPixels(Array, Int32, Int32)

Copia los datos de píxeles del mapa de bits en una matriz de píxeles con el paso especificado, a partir de la posición de desplazamiento especificada.Copies the bitmap pixel data into an array of pixels with the specified stride, starting at the specified offset.

CopyPixels(Int32Rect, Array, Int32, Int32)

Copia los datos de píxeles del mapa de bits del rectángulo especificado en una matriz de píxeles con el paso especificado, a partir de la posición de desplazamiento especificada.Copies the bitmap pixel data within the specified rectangle into an array of pixels that has the specified stride starting at the specified offset.

CopyPixels(Int32Rect, IntPtr, Int32, Int32)

Copia los datos de píxeles del mapa de bits dentro del rectángulo especificado.Copies the bitmap pixel data within the specified rectangle.

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32)

Crea una nueva clase BitmapSource a partir de una matriz de píxeles.Creates a new BitmapSource from an array of pixels.

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, IntPtr, Int32, Int32)

Crea una nueva clase BitmapSource a partir de una matriz de píxeles que se almacenan en memoria no administrada.Creates a new BitmapSource from an array of pixels that are stored in unmanaged memory.

CreateInstance()

Inicializa una nueva instancia de la clase Freezable.Initializes a new instance of the Freezable class.

(Heredado de Freezable)
CreateInstanceCore()

Cuando se implementa en una clase derivada, crea una nueva instancia de la clase Freezable derivada.When implemented in a derived class, creates a new instance of the Freezable derived class.

(Heredado de Freezable)
Equals(Object)

Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Heredado de DependencyObject)
Freeze()

Convierte el objeto actual en no modificable y establece su propiedad IsFrozen en true.Makes the current object unmodifiable and sets its IsFrozen property to true.

(Heredado de Freezable)
FreezeCore(Boolean)

Crea una instancia de la clase BitmapSource o una clase derivada inmutable.Makes an instance of BitmapSource or a derived class immutable.

GetAnimationBaseValue(DependencyProperty)

Devuelve el valor no animado del objeto DependencyProperty especificado.Returns the non-animated value of the specified DependencyProperty.

(Heredado de Animatable)
GetAsFrozen()

Crea una copia inmovilizada de Freezable, con los valores de propiedades base (no animadas).Creates a frozen copy of the Freezable, using base (non-animated) property values. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.Because the copy is frozen, any frozen sub-objects are copied by reference.

(Heredado de Freezable)
GetAsFrozenCore(Freezable)

Convierte esta instancia en un clon del objeto BitmapSource especificado.Makes this instance a clone of the specified BitmapSource object.

GetCurrentValueAsFrozen()

Crea una copia inmovilizada de Freezable con los valores de propiedad actuales.Creates a frozen copy of the Freezable using current property values. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.Because the copy is frozen, any frozen sub-objects are copied by reference.

(Heredado de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Convierte esta instancia en un clon inmovilizado del valor de BitmapSource especificado.Makes this instance a frozen clone of the specified BitmapSource. Las referencias de recursos, los enlaces de datos y las animaciones no se copian, pero sí sus valores actuales.Resource references, data bindings, and animations are not copied, but their current values are.

GetHashCode()

Obtiene un código hash de este objeto DependencyObject.Gets a hash code for this DependencyObject.

(Heredado de DependencyObject)
GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Heredado de DependencyObject)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de un DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Heredado de DependencyObject)
InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada.Re-evaluates the effective value for the specified dependency property.

(Heredado de DependencyObject)
MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
OnChanged()

Se le llama cuando el objeto Freezable actual se modifica.Called when the current Freezable object is modified.

(Heredado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Se asegura de que se establecen los punteros contextuales adecuados para un miembro de datos DependencyObjectType que se acaba de establecer.Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.

(Heredado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Este miembro es compatible con la infraestructura de Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) y no está diseñado para utilizarse directamente desde el código.This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

(Heredado de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Reemplaza la implementación DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) para invocar también cualquier controlador Changed en respuesta a una propiedad de dependencia cambiante de tipo Freezable.Overrides the DependencyObject implementation of OnPropertyChanged(DependencyPropertyChangedEventArgs) to also invoke any Changed handlers in response to a changing dependency property of type Freezable.

(Heredado de Freezable)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.Returns the local value of a dependency property, if it exists.

(Heredado de DependencyObject)
ReadPreamble()

Se asegura de que se tiene acceso a Freezable desde un subproceso válido.Ensures that the Freezable is being accessed from a valid thread. Los herederos de Freezable deben llamar a este método al inicio de las API que leen miembros de datos que no son propiedades de dependencia.Inheritors of Freezable must call this method at the beginning of any API that reads data members that are not dependency properties.

(Heredado de Freezable)
SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar el origen del valor.Sets the value of a dependency property without changing its value source.

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.Sets the local value of a dependency property, specified by its dependency property identifier.

(Heredado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Heredado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia especificada.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Heredado de DependencyObject)
ToString()

Crea una representación de cadena de este objeto basándose en la referencia cultural actual.Creates a string representation of this object based on the current culture.

(Heredado de ImageSource)
ToString(IFormatProvider)

Crea una representación de cadena de este objeto basándose en el objeto IFormatProvider que se pasa.Creates a string representation of this object based on the IFormatProvider passed in. Si el proveedor es null, se usará la propiedad CurrentCulture.If the provider is null, the CurrentCulture is used.

(Heredado de ImageSource)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)
WritePostscript()

Genera el evento Changed para Freezable e invoca su método OnChanged().Raises the Changed event for the Freezable and invokes its OnChanged() method. Las clases que derivan de Freezable deben llamar a este método al final de cualquier API que modifique miembros de clase que no estén almacenados como propiedades de dependencia.Classes that derive from Freezable should call this method at the end of any API that modifies class members that are not stored as dependency properties.

(Heredado de Freezable)
WritePreamble()

Comprueba que no se inmovilice Freezable y que se tiene acceso desde un contexto de subproceso válido.Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Los herederos de Freezable deben llamar a este método al inicio de las API que escriben en miembros de datos que no son propiedades de dependencia.Freezable inheritors should call this method at the beginning of any API that writes to data members that are not dependency properties.

(Heredado de Freezable)

Eventos

Changed

Se produce cuando se modifican la clase Freezable o un objeto que la contiene.Occurs when the Freezable or an object it contains is modified.

(Heredado de Freezable)
DecodeFailed

Se produce si no puede cargarse la imagen debido a un encabezado de imagen dañado.Occurs when the image fails to load, due to a corrupt image header.

DownloadCompleted

Se produce cuando se ha descargado completamente el contenido de mapa de bits.Occurs when the bitmap content has been completely downloaded.

DownloadFailed

Se produce cuando no se puede descargar el contenido de mapa de bits.Occurs when the bitmap content failed to download.

DownloadProgress

Se produce cuando el progreso de la descarga del contenido de mapa de bits sufre un cambio.Occurs when the download progress of the bitmap content has changed.

Implementaciones de interfaz explícitas

IFormattable.ToString(String, IFormatProvider)

Aplica formato al valor de la instancia actual utilizando el formato especificado.Formats the value of the current instance using the specified format.

(Heredado de ImageSource)

Se aplica a

Consulte también: