Partager via


BitmapFrame Classe

Définition

Représente les données d’image retournées par un décodeur et acceptées par les 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())
{
   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())
{ 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 en BitmapSource fournissant l’accès à l’image Thumbnail associée à 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 de celle-ci à l’aide BitmapFrame de la Clone méthode.

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

Constructeurs

Nom Description
BitmapFrame()

Initialise une nouvelle instance de la classe BitmapFrame.

Propriétés

Nom Description
BaseUri

En cas de substitution dans une classe dérivée, obtient ou définit une valeur qui représente la base Uri 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 associés à ce BitmapFrameparamètre .

Decoder

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

DependencyObjectType

Obtient le DependencyObjectType type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient ce Dispatcher qui DispatcherObject est associé.

(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 natif PixelFormat des données bitmap.

(Hérité de BitmapSource)
HasAnimatedProperties

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

(Hérité de Animatable)
Height

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

(Hérité de BitmapSource)
IsDownloading

Obtient une valeur qui indique si le BitmapSource contenu 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

Obtient une valeur qui indique si cette instance est actuellement scellée (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 la bitmap, si elle est spécifiée.

(Hérité de BitmapSource)
PixelHeight

Obtient la hauteur de la bitmap en pixels.

(Hérité de BitmapSource)
PixelWidth

Obtient la largeur de la 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 BitmapFrameparamètre .

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

Nom Description
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Applique un AnimationClock à l’objet spécifié DependencyProperty. Si la propriété est déjà animée, la propriété HandoffBehavior spécifiée est utilisée.

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

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

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

Applique une animation au fichier spécifié DependencyProperty. L’animation est démarrée lorsque l’image suivante est rendue. Si la propriété spécifiée est déjà animée, celle-ci HandoffBehavior est utilisée.

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

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

(Hérité de Animatable)
CheckAccess()

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

(Hérité de DispatcherObject)
CheckIfSiteOfOrigin()

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

(Hérité de BitmapSource)
ClearValue(DependencyProperty)

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

(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 un DependencyPropertyKey.

(Hérité de DependencyObject)
Clone()

Crée un clone modifiable de ce BitmapSourcefichier, en effectuant des copies approfondies des valeurs de cet objet. Lors de 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 (mais elles peuvent ne plus être résolues), mais pas les animations ni leurs valeurs actuelles.

(Hérité de BitmapSource)
CloneCore(Freezable)

Rend cette instance une copie approfondie du fichier spécifié BitmapSource. Lors de 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 (mais elles peuvent ne plus être résolues), mais pas les animations ni leurs valeurs actuelles.

(Hérité de BitmapSource)
CloneCurrentValue()

Crée un clone modifiable de cet BitmapSource objet, effectuant des copies approfondies des valeurs actuelles de cet objet. Les références de ressources, les liaisons de données et les animations ne sont pas copiées, mais leurs valeurs actuelles sont.

(Hérité de BitmapSource)
CloneCurrentValueCore(Freezable)

Rend cette instance une copie approfondie modifiable de l’élément spécifié BitmapSource à l’aide des valeurs de propriété actuelles. Les références de ressources, les liaisons de données et les animations ne sont pas copiées, mais leurs valeurs actuelles sont.

(Hérité de BitmapSource)
CoerceValue(DependencyProperty)

Force la valeur de la propriété de dépendance spécifiée. Pour ce faire, appelez n’importe quelle CoerceValueCallback fonction spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur l’appel DependencyObject.

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

Copie les données de pixel bitmap dans un tableau de pixels avec la progression spécifiée, en commençant à l’offset spécifié.

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

Copie les données de pixel bitmap dans le rectangle spécifié dans un tableau de pixels dont la progression spécifiée commence au décalage spécifié.

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

Copie les données de pixel bitmap dans le rectangle spécifié.

(Hérité de BitmapSource)
Create(BitmapSource, BitmapSource, BitmapMetadata, ReadOnlyCollection<ColorContext>)

Crée un nouveau BitmapFrame à partir d’une donnée BitmapSource avec la miniature spécifiée, BitmapMetadataet ColorContext.

Create(BitmapSource, BitmapSource)

Crée une nouvelle BitmapFrame à partir d’une donnée BitmapSource avec la miniature spécifiée.

Create(BitmapSource)

Crée un nouveau BitmapFrame à partir d’un élément donné BitmapSource.

Create(Stream, BitmapCreateOptions, BitmapCacheOption)

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

Create(Stream)

Crée un nouveau BitmapFrame à partir d’un élément donné Stream.

Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy)

Crée un BitmapFrame élément à partir d’un donné Uri avec le BitmapCreateOptions, BitmapCacheOptionet RequestCachePolicy.

Create(Uri, BitmapCreateOptions, BitmapCacheOption)

Crée un BitmapFrame élément à partir d’un donné Uri avec les données spécifiées BitmapCreateOptions et BitmapCacheOption.

Create(Uri, RequestCachePolicy)

Crée un élément BitmapFrame à partir d’un donné Uri avec le fichier spécifié RequestCachePolicy.

Create(Uri)

Crée un nouveau BitmapFrame à partir d’un élément donné Uri.

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

En cas d’implémentation dans une classe dérivée, crée une nouvelle instance de la Freezable classe dérivée.

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

Détermine si un élément fourni DependencyObject est équivalent à l’actuel DependencyObject.

(Hérité de DependencyObject)
Freeze()

Rend l’objet actuel non modifiable et définit sa IsFrozen propriété sur 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 l’objet spécifié DependencyProperty.

(Hérité de Animatable)
GetAsFrozen()

Crée une copie figée des valeurs de Freezablepropriété de base (non animées). É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)

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

(Hérité de BitmapSource)
GetCurrentValueAsFrozen()

Crée une copie figée de l’utilisation Freezable 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)

Fait de cette instance un clone figé du fichier spécifié BitmapSource. Les références de ressources, les liaisons de données et les animations ne sont pas copiées, mais leurs valeurs actuelles sont.

(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 la 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)

Évalue à nouveau la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
OnChanged()

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

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

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

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

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

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

Remplace l’implémentation DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) l’appel de tous Changed les gestionnaires en réponse à une propriété de dépendance modifiée de type Freezable.

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

Retourne la valeur locale d’une propriété de dépendance, le cas échéant.

(Hérité de DependencyObject)
ReadPreamble()

Garantit l’accès Freezable à partir d’un thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API qui lit 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 source de valeur.

(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 en fonction de 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 passage. Si le fournisseur est null, il CurrentCulture est utilisé.

(Hérité de ImageSource)
VerifyAccess()

Applique que le thread appelant a accès à ce DispatcherObjectfichier .

(Hérité de DispatcherObject)
WritePostscript()

Déclenche l’événement Changed pour la Freezable méthode et appelle sa OnChanged() méthode. Les classes dérivées Freezable de doivent appeler cette méthode à la fin de toute API qui modifie les 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 l’objet Freezable n’est pas figé et qu’il est accessible à partir d’un contexte de threading valide. Freezable Les hériteurs doivent appeler cette méthode au début de toute API qui écrit dans les membres de données qui ne sont pas des propriétés de dépendance.

(Hérité de Freezable)

Événements

Nom Description
Changed

Se produit lorsque l’objet Freezable qu’il contient est modifié.

(Hérité de Freezable)
DecodeFailed

Se produit lorsque l’image ne parvient pas à se charger, en raison d’un en-tête d’image endommagé.

(Hérité de BitmapSource)
DownloadCompleted

Se produit lorsque le contenu bitmap a été entièrement téléchargé.

(Hérité de BitmapSource)
DownloadFailed

Se produit lorsque le contenu bitmap n’a pas pu être téléchargé.

(Hérité de BitmapSource)
DownloadProgress

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

(Hérité de BitmapSource)

Implémentations d’interfaces explicites

Nom Description
IFormattable.ToString(String, IFormatProvider)

Met en forme la valeur de l’instance actuelle à l’aide du format spécifié.

(Hérité de ImageSource)

S’applique à

Voir aussi