BitmapFrame Classe

Définition

Représente des données image retournées par un décodeur et acceptées par des encodeurs.

public ref class BitmapFrame abstract : System::Windows::Media::Imaging::BitmapSource, System::Windows::Markup::IUriContext
public abstract class BitmapFrame : System.Windows.Media.Imaging.BitmapSource, System.Windows.Markup.IUriContext
type BitmapFrame = class
    inherit BitmapSource
    interface IUriContext
Public MustInherit Class BitmapFrame
Inherits BitmapSource
Implements IUriContext
Héritage
Implémente

Exemples

L’exemple de code suivant montre comment créer un nouveau BitmapSource à l’aide d’un BitmapFrame.

int width = 128;
int height = width;
int stride = width/8;
byte[] pixels = new byte[height*stride];

// Try creating a new image with a custom palette.
List<System.Windows.Media.Color> colors = new List<System.Windows.Media.Color>();
colors.Add(System.Windows.Media.Colors.Red);
colors.Add(System.Windows.Media.Colors.Blue);
colors.Add(System.Windows.Media.Colors.Green);
BitmapPalette myPalette = new BitmapPalette(colors);

// Creates a new empty image with the pre-defined palette

BitmapSource image = BitmapSource.Create(
    width,
    height,
    96,
    96,
    PixelFormats.Indexed1,
    myPalette, 
    pixels, 
    stride);

FileStream stream = new FileStream("empty.tif", FileMode.Create);
TiffBitmapEncoder encoder = new TiffBitmapEncoder();
TextBlock myTextBlock = new TextBlock();
myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString();
encoder.Frames.Add(BitmapFrame.Create(image));
MessageBox.Show(myPalette.Colors.Count.ToString());
encoder.Save(stream);
Dim width As Integer = 128
Dim height As Integer = width
Dim stride As Integer = CType(width / 8, Integer)
Dim pixels(height * stride) As Byte

' Try creating a new image with a custom palette.
Dim colors As New List(Of System.Windows.Media.Color)()
colors.Add(System.Windows.Media.Colors.Red)
colors.Add(System.Windows.Media.Colors.Blue)
colors.Add(System.Windows.Media.Colors.Green)
Dim myPalette As New BitmapPalette(colors)

' Creates a new empty image with the pre-defined palette
Dim image As BitmapSource = System.Windows.Media.Imaging.BitmapSource.Create(width, height, 96, 96, PixelFormats.Indexed1, myPalette, pixels, stride)
Dim stream As New FileStream("empty.tif", FileMode.Create)
Dim encoder As New TiffBitmapEncoder()
Dim myTextBlock As New TextBlock()
myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString()
encoder.Frames.Add(BitmapFrame.Create(image))
MessageBox.Show(myPalette.Colors.Count.ToString())
encoder.Save(stream)

L’exemple de code suivant montre comment utiliser l’objet BitmapFrame pour ouvrir un graphique PNG (Portable Network Graphics) et écrire des métadonnées à l’aide de la CreateInPlaceBitmapMetadataWriter méthode .

Stream^ pngStream = gcnew FileStream("smiley.png", FileMode::Open, FileAccess::ReadWrite, FileShare::ReadWrite);
PngBitmapDecoder^ pngDecoder = gcnew PngBitmapDecoder(pngStream, BitmapCreateOptions::PreservePixelFormat, BitmapCacheOption::Default);
BitmapFrame^ pngFrame = pngDecoder->Frames[0];
InPlaceBitmapMetadataWriter^ pngInplace = pngFrame->CreateInPlaceBitmapMetadataWriter();
if (pngInplace->TrySave() == true)
{
   pngInplace->SetQuery("/Text/Description", "Have a nice day.");
}
pngStream->Close();
Stream pngStream = new System.IO.FileStream("smiley.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
PngBitmapDecoder pngDecoder = new PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapFrame pngFrame = pngDecoder.Frames[0];
InPlaceBitmapMetadataWriter pngInplace = pngFrame.CreateInPlaceBitmapMetadataWriter();
if (pngInplace.TrySave() == true)
{ pngInplace.SetQuery("/Text/Description", "Have a nice day."); }
pngStream.Close();
Dim pngStream As New System.IO.FileStream("smiley.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
Dim pngDecoder As New PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default)
Dim pngFrame As BitmapFrame = pngDecoder.Frames(0)
Dim pngInplace As InPlaceBitmapMetadataWriter = pngFrame.CreateInPlaceBitmapMetadataWriter()
If pngInplace.TrySave() = True Then
    pngInplace.SetQuery("/Text/Description", "Have a nice day.")
End If
pngStream.Close()

Remarques

BitmapFrame fournit des fonctionnalités supplémentaires non définies par BitmapSource en fournissant l’accès à associé Thumbnail à un cadre particulier d’une image. BitmapFrame prend également en charge l’écriture d’informations de métadonnées à l’aide de la Metadata propriété ou de la CreateInPlaceBitmapMetadataWriter méthode .

Tout BitmapFrame retour d’un décodeur est toujours figé. Si vous avez besoin d’une copie modifiable, vous devez d’abord créer une copie du à l’aide BitmapFrame de la Clone méthode .

Seules les images au format TIFF (Tagged Image File Format) et GIF (Graphics Interchange Format) prennent en charge plusieurs images.

Constructeurs

BitmapFrame()

Initialise une nouvelle instance de la classe BitmapFrame.

Propriétés

BaseUri

En cas de substitution dans une classe dérivée, obtient ou définit une valeur qui représente l'Uri de base du contexte actuel.

CanFreeze

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

(Hérité de Freezable)
ColorContexts

En cas de substitution dans une classe dérivée, obtient une collection d'objets ColorContext qui sont associés à ce BitmapFrame.

Decoder

En cas de substitution dans une classe dérivée, obtient le décodeur associé à cette instance de BitmapFrame.

DependencyObjectType

Obtient le DependencyObjectType qui encapsule le type CLR de ce 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.

(Hérité de BitmapSource)
DpiY

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

(Hérité de BitmapSource)
Format

Obtient le PixelFormat natif des données bitmap.

(Hérité de BitmapSource)
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é).

(Hérité de BitmapSource)
IsDownloading

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

(Hérité de BitmapSource)
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.

(Hérité de BitmapSource)
Palette

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

(Hérité de BitmapSource)
PixelHeight

Obtient la hauteur de l'image bitmap en pixels.

(Hérité de BitmapSource)
PixelWidth

Obtient la largeur de l'image bitmap en pixels.

(Hérité de BitmapSource)
Thumbnail

En cas de substitution dans une classe dérivée, obtient l’image miniature associée à ce BitmapFrame.

Width

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

(Hérité de BitmapSource)

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.

(Hérité de BitmapSource)
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.

(Hérité de BitmapSource)
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.

(Hérité de BitmapSource)
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.

(Hérité de BitmapSource)
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.

(Hérité de BitmapSource)
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é.

(Hérité de BitmapSource)
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é.

(Hérité de BitmapSource)
CopyPixels(Int32Rect, IntPtr, Int32, Int32)

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

(Hérité de BitmapSource)
Create(BitmapSource)

Crée un BitmapFrame à partir d’un BitmapSource.

Create(BitmapSource, BitmapSource)

Crée un nouveau BitmapFrame à partir d'un BitmapSource donné avec la miniature spécifiée.

Create(BitmapSource, BitmapSource, BitmapMetadata, ReadOnlyCollection<ColorContext>)

Crée un BitmapFrame à partir d’un BitmapSource donné avec la miniature spécifiée, BitmapMetadata, et ColorContext.

Create(Stream)

Crée un BitmapFrame à partir d’un Stream.

Create(Stream, BitmapCreateOptions, BitmapCacheOption)

Crée un nouveau BitmapFrame à partir d'un Stream donné avec les BitmapCreateOptions et BitmapCacheOption spécifiés.

Create(Uri)

Crée un BitmapFrame à partir d’un Uri.

Create(Uri, BitmapCreateOptions, BitmapCacheOption)

Crée un BitmapFrame à partir d'un Uri donné avec les BitmapCreateOptions et BitmapCacheOption spécifiés.

Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy)

Crée un BitmapFrame à partir d'un Uri donné avec les BitmapCreateOptions, le BitmapCacheOption et le RequestCachePolicy spécifiés.

Create(Uri, RequestCachePolicy)

Crée un BitmapFrame à partir d'un Uri donné avec le RequestCachePolicy spécifié.

CreateInPlaceBitmapMetadataWriter()

En cas de substitution dans une classe dérivée, crée une instance de InPlaceBitmapMetadataWriter qui peut être utilisée pour associer des métadonnées à un BitmapFrame.

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.

(Hérité de BitmapSource)
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é.

(Hérité de BitmapSource)
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.

(Hérité de BitmapSource)
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.

(Hérité de BitmapSource)
DownloadCompleted

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

(Hérité de BitmapSource)
DownloadFailed

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

(Hérité de BitmapSource)
DownloadProgress

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

(Hérité de BitmapSource)

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