Partager via


BitmapSource Classe

Définition

Représente un jeu unique et constant de pixels avec une taille et une résolution spécifiques.

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
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type BitmapSource = class
    inherit ImageSource
    interface DUCE.IResource
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type BitmapSource = class
    inherit ImageSource
Public MustInherit Class BitmapSource
Inherits ImageSource
Héritage
Dérivé
Attributs

Exemples

L’exemple de code suivant montre comment créer un BitmapSource et l’utiliser comme source d’un Image contrôle.

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

L’exemple de code suivant utilise une BitmapSource classe dérivée, BitmapImage, pour créer une bitmap à partir d’un fichier image et l’utiliser comme source d’un Image contrôle.

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

Remarques

BitmapSourceest le bloc de construction de base du pipeline d’imagerie Windows Presentation Foundation (WPF), représentant conceptuellement un ensemble unique et constant de pixels à une certaine taille et résolution. Un BitmapSource peut être un cadre unique dans un fichier image fourni par un décodeur, ou il peut être le résultat d’une transformation qui opère sur un BitmapSource de ses propres fichiers. BitmapSource n’est pas utilisé pour représenter une image à plusieurs images ou une animation.

Windows Presentation Foundation (WPF) prend en charge en mode natif la compression et la décompression des images bitmap (BMP), GIF (Graphics Interchange Format), JPEG (Joint Photographics Experts Group), PNG (Portable Network Graphics) et TIFF (Tagged Image File Format).

Pour les scénarios de décodage bitmap, BitmapSource utilise la découverte automatique des codecs, en fonction des codecs installés sur le système de l’utilisateur.

La hauteur et la largeur maximales d’une image sont de 2^16 pixels à 32 bits par canal * 4 canaux. La taille maximale d’un BitmapSource est de 2^32 octets (64 gigaoctets) et la taille maximale de l’image est de quatre gigapixels. La taille minimale de l’image est 1x1.

Constructeurs

BitmapSource()

Initialise une nouvelle instance de la classe BitmapSource.

Propriétés

CanFreeze

Obtient une valeur qui indique si l’objet peut être rendu non modifiable.

(Hérité de Freezable)
DependencyObjectType

Obtient le DependencyObjectType qui encapsule le type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient le Dispatcher associé à DispatcherObject.

(Hérité de DispatcherObject)
DpiX

Obtient les points horizontaux par pouce (ppp) de l’image.

DpiY

Obtient les points verticaux par pouce (ppp) de l’image.

Format

Obtient le PixelFormat natif des données bitmap.

HasAnimatedProperties

Obtient une valeur qui indique si un ou plusieurs objets AnimationClock sont associés à l'une ou l'autre des propriétés de dépendance de cet objet.

(Hérité de Animatable)
Height

Obtient la hauteur de la bitmap source en unités indépendantes de l’appareil (1/96e pouce par unité).

IsDownloading

Obtient une valeur qui indique si le contenu BitmapSource est en cours de téléchargement.

IsFrozen

Obtient une valeur qui indique si l’objet est actuellement modifiable.

(Hérité de Freezable)
IsSealed

Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule).

(Hérité de DependencyObject)
Metadata

Obtient les métadonnées associées à cette image bitmap.

Palette

Obtient la palette de couleurs de l'image bitmap, si spécifiée.

PixelHeight

Obtient la hauteur de l'image bitmap en pixels.

PixelWidth

Obtient la largeur de l'image bitmap en pixels.

Width

Obtient la largeur de la bitmap en unités indépendantes de l’appareil (1/96e pouce par unité).

Méthodes

ApplyAnimationClock(DependencyProperty, AnimationClock)

Applique AnimationClock au DependencyProperty spécifié. Si la propriété est déjà animée, le comportement de transfert SnapshotAndReplace est utilisé.

(Hérité de Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Applique AnimationClock au DependencyProperty spécifié. Si la propriété spécifiée est déjà animée, le comportement HandoffBehavior spécifié est utilisé.

(Hérité de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Applique une animation au DependencyProperty spécifié. L’animation est démarrée lors de la restitution de l’image suivante. Si la propriété spécifiée est déjà animée, le comportement de transfert SnapshotAndReplace est utilisé.

(Hérité de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Applique une animation au DependencyProperty spécifié. L’animation est démarrée lors de la restitution de l’image suivante. Si la propriété spécifiée est déjà animée, le comportement HandoffBehavior spécifié est utilisé.

(Hérité de Animatable)
CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObject.

(Hérité de DispatcherObject)
CheckIfSiteOfOrigin()

Vérifie si le contenu de la source bitmap provient d’un site d’origine connu. Cette méthode est utilisée pour s’assurer que les opérations de copie des pixels sont sûres.

ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété. La propriété à effacer est spécifiée par un identificateur DependencyProperty.

(Hérité de DependencyObject)
ClearValue(DependencyPropertyKey)

Efface la valeur locale d’une propriété en lecture seule. La propriété à effacer est spécifiée par DependencyPropertyKey.

(Hérité de DependencyObject)
Clone()

Crée un clone modifiable de ce BitmapSource, en créant des copies complètes des valeurs de cet objet. Pendant la copie des propriétés de dépendance, cette méthode copie les références de ressources et les liaisons de données (qui risquent toutefois de ne plus pouvoir se résoudre), mais pas les animations ni leurs valeurs actuelles.

CloneCore(Freezable)

Convertit cette instance en copie complète de l’objet BitmapSource spécifié. Pendant la copie des propriétés de dépendance, cette méthode copie les références de ressources et les liaisons de données (qui risquent toutefois de ne plus pouvoir se résoudre), mais pas les animations ni leurs valeurs actuelles.

CloneCurrentValue()

Crée un clone modifiable de cet objet BitmapSource, en effectuant une copie complète des valeurs actuelles de cet objet. Contrairement à leurs valeurs actuelles, les références de ressources, les liaisons de données et les animations ne sont pas copiées.

CloneCurrentValueCore(Freezable)

Convertit cette instance en copie complète modifiable de l’objet BitmapSource spécifié à l’aide des valeurs de propriété actuelles. Contrairement à leurs valeurs actuelles, les références de ressources, les liaisons de données et les animations ne sont pas copiées.

CoerceValue(DependencyProperty)

Convertit la valeur de la propriété de dépendance spécifiée. Pour cela, on appelle toute fonction CoerceValueCallback spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur le DependencyObject appelant.

(Hérité de DependencyObject)
CopyPixels(Array, Int32, Int32)

Copie les données de pixels de l'image bitmap dans un tableau de pixels avec la largeur de numérisation spécifiée, en commençant à l'offset spécifié.

CopyPixels(Int32Rect, Array, Int32, Int32)

Copie les données de pixels de l'image bitmap dans le rectangle indiqué dans un tableau de pixels avec la largeur de numérisation spécifiée, en commençant à l'offset spécifié.

CopyPixels(Int32Rect, IntPtr, Int32, Int32)

Copie les données de pixels de l’image bitmap dans le rectangle spécifié.

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

Crée un nouveau BitmapSource à partir d'un tableau de pixels.

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

Crée un nouveau BitmapSource à partir d'un tableau de pixels qui sont stockés dans la mémoire non managée.

CreateInstance()

Initialise une nouvelle instance de la classe Freezable.

(Hérité de Freezable)
CreateInstanceCore()

Une fois implémentée dans une classe dérivée, initialise une nouvelle instance de la classe dérivée Freezable.

(Hérité de Freezable)
Equals(Object)

Détermine si un DependencyObject fourni est équivalent au DependencyObject réel.

(Hérité de DependencyObject)
Freeze()

Rend l’objet actif non modifiable et attribue à sa propriété IsFrozen la valeur true.

(Hérité de Freezable)
FreezeCore(Boolean)

Rend une instance de BitmapSource ou une classe dérivée immuable.

GetAnimationBaseValue(DependencyProperty)

Retourne la valeur non animée de la propriété DependencyProperty spécifiée.

(Hérité de Animatable)
GetAsFrozen()

Crée une copie figée de Freezable, à l'aide des valeurs de propriété (non-animées) de base. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.

(Hérité de Freezable)
GetAsFrozenCore(Freezable)

Convertit cette instance en un clone de l’objet BitmapSource spécifié.

GetCurrentValueAsFrozen()

Crée une copie figée de Freezable à l'aide des valeurs de propriété actuelles. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.

(Hérité de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Convertit cette instance en clone figé du BitmapSource spécifié. Contrairement à leurs valeurs actuelles, les références de ressources, les liaisons de données et les animations ne sont pas copiées.

GetHashCode()

Obtient un code de hachage pour ce DependencyObject.

(Hérité de DependencyObject)
GetLocalValueEnumerator()

Crée un énumérateur spécialisé pour déterminer quelles propriétés de dépendance ont des valeurs définies localement sur ce DependencyObject.

(Hérité de DependencyObject)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject.

(Hérité de DependencyObject)
InvalidateProperty(DependencyProperty)

Réévalue la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnChanged()

Appelé lorsque l’objet Freezable actuel est modifié.

(Hérité de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garantit que les pointeurs de contexte appropriés sont établis pour un membre de données de type DependencyObjectType qui vient juste d'être défini.

(Hérité de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Ce membre prend en charge l’infrastructure Windows Presentation Foundation (WPF) et n’est pas destiné à être utilisé directement à partir de votre code.

(Hérité de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Substitue l’implémentation DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) pour appeler également tous les gestionnaires Changed en réponse à une propriété de dépendance variable de type Freezable.

(Hérité de Freezable)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si elle existe.

(Hérité de DependencyObject)
ReadPreamble()

Garantit que Freezable est accessible à partir d'un thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API lisant les membres de données qui ne sont pas des propriétés de dépendance.

(Hérité de Freezable)
SetCurrentValue(DependencyProperty, Object)

Définit la valeur d’une propriété de dépendance sans modifier sa valeur source.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance.

(Hérité de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Définit la valeur locale d’une propriété de dépendance en lecture seule, spécifiée par l’identificateur DependencyPropertyKey de la propriété de dépendance.

(Hérité de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la propriété de dépendance fournie.

(Hérité de DependencyObject)
ToString()

Crée une représentation sous forme de chaîne de cet objet selon la culture actuelle.

(Hérité de ImageSource)
ToString(IFormatProvider)

Crée une représentation sous forme de chaîne de cet objet en fonction du IFormatProvider passé. Si le fournisseur est null, le CurrentCulture est utilisé.

(Hérité de ImageSource)
VerifyAccess()

Garantit que le thread appelant a accès à DispatcherObject.

(Hérité de DispatcherObject)
WritePostscript()

Déclenche l’événement Changed pour le Freezable et appelle sa méthode OnChanged(). Les classes qui dérivent de Freezable doivent appeler cette méthode à la fin de toute API qui modifie des membres de classe qui ne sont pas stockés en tant que propriétés de dépendance.

(Hérité de Freezable)
WritePreamble()

Vérifie que le Freezable n'est pas figé et que son accès s'effectue à partir d'un contexte de thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API écrivant dans les membres de données qui ne sont pas des propriétés de dépendance.

(Hérité de Freezable)

Événements

Changed

Se produit lorsque Freezable ou un objet qu'il contient est modifié.

(Hérité de Freezable)
DecodeFailed

Se produit en cas d'échec du téléchargement de l'image, à cause d'un en-tête d'image corrompu.

DownloadCompleted

Se produit lorsque le contenu de la bitmap a été complètement téléchargé.

DownloadFailed

Se produit lorsque le téléchargement du contenu de la bitmap a échoué.

DownloadProgress

Se produit lorsque la progression du téléchargement du contenu de la bitmap a changé.

Implémentations d’interfaces explicites

IFormattable.ToString(String, IFormatProvider)

Met en forme la valeur de l’instance actuelle en utilisant le format spécifié.

(Hérité de ImageSource)

S’applique à

Voir aussi