Metafile Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit un métafichier graphique. Un métafichier contient des enregistrements qui décrivent une séquence d’opérations graphiques qui peuvent être enregistrées (construites) et lues (affichées). Cette classe n’est pas héritée.
public ref class Metafile sealed : System::Drawing::Image
[System.Serializable]
public sealed class Metafile : System.Drawing.Image
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class Metafile : System.Drawing.Image
public sealed class Metafile : System.Drawing.Image
[<System.Serializable>]
type Metafile = class
inherit Image
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(false)>]
type Metafile = class
inherit Image
type Metafile = class
inherit Image
Public NotInheritable Class Metafile
Inherits Image
- Héritage
- Attributs
Exemples
L’exemple de code suivant montre comment créer un Metafile et utiliser la méthode PlayRecord.
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
// for Marshal.Copy
using System.Runtime.InteropServices;
public class Form1 : Form
{
private Metafile metafile1;
private Graphics.EnumerateMetafileProc metafileDelegate;
private Point destPoint;
public Form1()
{
metafile1 = new Metafile(@"C:\Test.wmf");
metafileDelegate = new Graphics.EnumerateMetafileProc(MetafileCallback);
destPoint = new Point(20, 10);
}
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.EnumerateMetafile(metafile1, destPoint, metafileDelegate);
}
private bool MetafileCallback(
EmfPlusRecordType recordType,
int flags,
int dataSize,
IntPtr data,
PlayRecordCallback callbackData)
{
byte[] dataArray = null;
if (data != IntPtr.Zero)
{
// Copy the unmanaged record to a managed byte buffer
// that can be used by PlayRecord.
dataArray = new byte[dataSize];
Marshal.Copy(data, dataArray, 0, dataSize);
}
metafile1.PlayRecord(recordType, flags, dataSize, dataArray);
return true;
}
static void Main()
{
Application.Run(new Form1());
}
}
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Windows.Forms
' for Marshal.Copy
Imports System.Runtime.InteropServices
Public Class Form1
Inherits Form
Private metafile1 As Metafile
Private metafileDelegate As Graphics.EnumerateMetafileProc
Private destPoint As Point
Public Sub New()
metafile1 = New Metafile("C:\test.wmf")
metafileDelegate = New Graphics.EnumerateMetafileProc(AddressOf MetafileCallback)
destPoint = New Point(20, 10)
End Sub
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
e.Graphics.EnumerateMetafile(metafile1, destPoint, metafileDelegate)
End Sub
Private Function MetafileCallback(ByVal recordType As _
EmfPlusRecordType, ByVal flags As Integer, ByVal dataSize As Integer, _
ByVal data As IntPtr, ByVal callbackData As PlayRecordCallback) As Boolean
Dim dataArray As Byte() = Nothing
If data <> IntPtr.Zero Then
' Copy the unmanaged record to a managed byte buffer
' that can be used by PlayRecord.
dataArray = New Byte(dataSize) {}
Marshal.Copy(data, dataArray, 0, dataSize)
End If
metafile1.PlayRecord(recordType, flags, dataSize, dataArray)
Return True
End Function
Shared Sub Main()
Application.Run(New Form1())
End Sub
End Class
Remarques
Lorsque vous utilisez la méthode Save pour enregistrer une image graphique en tant que fichier WMF (Windows Metafile Format) ou EMF (Enhanced Metafile Format), le fichier résultant est enregistré sous la forme d’un fichier PNG (Portable Network Graphics). Ce comportement se produit, car le composant GDI+ du .NET Framework n’a pas d’encodeur que vous pouvez utiliser pour enregistrer des fichiers en tant que fichiers .wmf ou .emf.
Note
Dans .NET 6 et versions ultérieures, le package System.Drawing.Common, qui inclut ce type, n’est pris en charge que sur les systèmes d’exploitation Windows. L’utilisation de ce type dans les applications multiplateformes provoque des avertissements au moment de la compilation et des exceptions d’exécution. Pour plus d’informations, consultez System.Drawing.Common uniquement pris en charge sur Windows.
Constructeurs
Metafile(IntPtr, Boolean) |
Initialise une nouvelle instance de la classe Metafile à partir du handle spécifié. |
Metafile(IntPtr, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile du handle spécifié vers un contexte d’appareil et une énumération EmfType qui spécifie le format du Metafile. Une chaîne peut être fournie pour nommer le fichier. |
Metafile(IntPtr, EmfType) |
Initialise une nouvelle instance de la classe Metafile du handle spécifié vers un contexte d’appareil et une énumération EmfType qui spécifie le format du Metafile. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte d’appareil spécifié, limitée par le rectangle spécifié qui utilise l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. Une chaîne peut être fournie pour nommer le fichier. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte d’appareil spécifié, limitée par le rectangle spécifié qui utilise l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte d’appareil spécifié, limitée par le rectangle spécifié qui utilise l’unité de mesure fournie. |
Metafile(IntPtr, Rectangle) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte d’appareil spécifié, limitée par le rectangle spécifié. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte d’appareil spécifié, limitée par le rectangle spécifié qui utilise l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. Une chaîne peut être fournie pour nommer le fichier. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte d’appareil spécifié, limitée par le rectangle spécifié qui utilise l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte d’appareil spécifié, limitée par le rectangle spécifié qui utilise l’unité de mesure fournie. |
Metafile(IntPtr, RectangleF) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte d’appareil spécifié, limitée par le rectangle spécifié. |
Metafile(IntPtr, WmfPlaceableFileHeader, Boolean) |
Initialise une nouvelle instance de la classe Metafile à partir du handle spécifié et d’un WmfPlaceableFileHeader. En outre, le paramètre |
Metafile(IntPtr, WmfPlaceableFileHeader) |
Initialise une nouvelle instance de la classe Metafile à partir du handle spécifié et d’un WmfPlaceableFileHeader. |
Metafile(Stream, IntPtr, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, d’un handle Windows vers un contexte d’appareil et d’une énumération EmfType qui spécifie le format du Metafile. En outre, une chaîne qui contient un nom descriptif pour la nouvelle Metafile peut être ajoutée. |
Metafile(Stream, IntPtr, EmfType) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, d’un handle Windows vers un contexte d’appareil et d’une énumération EmfType qui spécifie le format du Metafile. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, d’un handle Windows vers un contexte d’appareil, d’une structure Rectangle qui représente le rectangle qui limite le nouveau Metafile, l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. Une chaîne qui contient un nom descriptif pour la nouvelle Metafile peut être ajoutée. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, d’un handle Windows vers un contexte d’appareil, d’une structure Rectangle qui représente le rectangle qui limite le nouveau Metafile, l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, d’un handle Windows vers un contexte d’appareil, d’une structure Rectangle qui représente le rectangle qui limite le nouveau Metafileet l’unité de mesure fournie. |
Metafile(Stream, IntPtr, Rectangle) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, d’un handle Windows vers un contexte d’appareil et d’une structure Rectangle qui représente le rectangle qui limite le nouveau Metafile. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, d’un handle Windows vers un contexte d’appareil, d’une structure RectangleF qui représente le rectangle qui limite le nouveau Metafile, l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. Une chaîne qui contient un nom descriptif pour la nouvelle Metafile peut être ajoutée. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, d’un handle Windows vers un contexte d’appareil, d’une structure RectangleF qui représente le rectangle qui limite le nouveau Metafile, l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, d’un handle Windows vers un contexte d’appareil, d’une structure RectangleF qui représente le rectangle qui limite le nouveau Metafileet l’unité de mesure fournie. |
Metafile(Stream, IntPtr, RectangleF) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, d’un handle Windows vers un contexte d’appareil et d’une structure RectangleF qui représente le rectangle qui limite le nouveau Metafile. |
Metafile(Stream, IntPtr) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié. |
Metafile(Stream) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié. |
Metafile(String, IntPtr, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil et une énumération EmfType qui spécifie le format du Metafile. Une chaîne descriptive peut également être ajoutée. |
Metafile(String, IntPtr, EmfType) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil et une énumération EmfType qui spécifie le format du Metafile. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil, une structure Rectangle qui représente le rectangle qui limite le nouvel Metafile, l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. Une chaîne descriptive peut également être ajoutée. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil, une structure Rectangle qui représente le rectangle qui limite le nouvel Metafile, l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, String) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil, une structure Rectangle qui représente le rectangle qui limite le nouveau Metafileet l’unité de mesure fournie. Une chaîne descriptive peut également être ajoutée. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil, une structure Rectangle qui représente le rectangle qui limite le nouveau Metafileet l’unité de mesure fournie. |
Metafile(String, IntPtr, Rectangle) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil et une structure Rectangle qui représente le rectangle qui limite la nouvelle Metafile. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil, une structure RectangleF qui représente le rectangle qui limite le nouvel Metafile, l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. Une chaîne descriptive peut également être ajoutée. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil, une structure RectangleF qui représente le rectangle qui limite le nouvel Metafile, l’unité de mesure fournie et une énumération EmfType qui spécifie le format du Metafile. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, String) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil, une structure RectangleF qui représente le rectangle qui limite le nouveau Metafileet l’unité de mesure fournie. Une chaîne descriptive peut également être ajoutée. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil, une structure RectangleF qui représente le rectangle qui limite le nouveau Metafileet l’unité de mesure fournie. |
Metafile(String, IntPtr, RectangleF) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows vers un contexte d’appareil et une structure RectangleF qui représente le rectangle qui limite la nouvelle Metafile. |
Metafile(String, IntPtr) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié. |
Metafile(String) |
Initialise une nouvelle instance de la classe Metafile à partir du nom de fichier spécifié. |
Propriétés
Flags |
Obtient des indicateurs d’attribut pour les données de pixels de cette Image. (Hérité de Image) |
FrameDimensionsList |
Obtient un tableau de GUID qui représentent les dimensions des images dans cette Image. (Hérité de Image) |
Height |
Obtient la hauteur, en pixels, de cette Image. (Hérité de Image) |
HorizontalResolution |
Obtient la résolution horizontale, en pixels par pouce, de cette Image. (Hérité de Image) |
Palette |
Obtient ou définit la palette de couleurs utilisée pour cette Image. (Hérité de Image) |
PhysicalDimension |
Obtient la largeur et la hauteur de cette image. (Hérité de Image) |
PixelFormat |
Obtient le format de pixel pour cette Image. (Hérité de Image) |
PropertyIdList |
Obtient les ID des éléments de propriété stockés dans cette Image. (Hérité de Image) |
PropertyItems |
Obtient tous les éléments de propriété (éléments de métadonnées) stockés dans cette Image. (Hérité de Image) |
RawFormat |
Obtient le format de fichier de cette Image. (Hérité de Image) |
Size |
Obtient la largeur et la hauteur, en pixels, de cette image. (Hérité de Image) |
Tag |
Obtient ou définit un objet qui fournit des données supplémentaires sur l’image. (Hérité de Image) |
VerticalResolution |
Obtient la résolution verticale, en pixels par pouce, de cette Image. (Hérité de Image) |
Width |
Obtient la largeur, en pixels, de cette Image. (Hérité de Image) |
Méthodes
Clone() |
Crée une copie exacte de cette Image. (Hérité de Image) |
CreateObjRef(Type) |
Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
Dispose() |
Libère toutes les ressources utilisées par cette Image. (Hérité de Image) |
Dispose(Boolean) |
Libère les ressources non managées utilisées par le Image et libère éventuellement les ressources managées. (Hérité de Image) |
Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
GetBounds(GraphicsUnit) |
Obtient les limites de l’image dans l’unité spécifiée. (Hérité de Image) |
GetEncoderParameterList(Guid) |
Retourne des informations sur les paramètres pris en charge par l’encodeur d’image spécifié. (Hérité de Image) |
GetFrameCount(FrameDimension) |
Retourne le nombre d’images de la dimension spécifiée. (Hérité de Image) |
GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
GetHenhmetafile() |
Retourne un handle Windows à une Metafileaméliorée. |
GetLifetimeService() |
Obsolète.
Récupère l’objet de service de durée de vie actuel qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
GetMetafileHeader() |
Retourne la MetafileHeader associée à cette Metafile. |
GetMetafileHeader(IntPtr, WmfPlaceableFileHeader) |
Retourne le MetafileHeader associé au Metafilespécifié. |
GetMetafileHeader(IntPtr) |
Retourne le MetafileHeader associé au Metafilespécifié. |
GetMetafileHeader(Stream) |
Retourne le MetafileHeader associé au Metafilespécifié. |
GetMetafileHeader(String) |
Retourne le MetafileHeader associé au Metafilespécifié. |
GetPropertyItem(Int32) |
Obtient l’élément de propriété spécifié à partir de cette Image. (Hérité de Image) |
GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr) |
Retourne une miniature pour cette Image. (Hérité de Image) |
GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
InitializeLifetimeService() |
Obsolète.
Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
MemberwiseClone(Boolean) |
Crée une copie superficielle de l’objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject) |
PlayRecord(EmfPlusRecordType, Int32, Int32, Byte[]) |
Lit un enregistrement de métafichier individuel. |
RemovePropertyItem(Int32) |
Supprime l’élément de propriété spécifié de cette Image. (Hérité de Image) |
RotateFlip(RotateFlipType) |
Fait pivoter, retourner ou faire pivoter et retourner la Image. (Hérité de Image) |
Save(Stream, ImageCodecInfo, EncoderParameters) |
Enregistre cette image dans le flux spécifié, avec les paramètres d’encodeur et d’encodeur d’image spécifiés. (Hérité de Image) |
Save(Stream, ImageFormat) |
Enregistre cette image dans le flux spécifié au format spécifié. (Hérité de Image) |
Save(String, ImageCodecInfo, EncoderParameters) |
Enregistre cette Image dans le fichier spécifié, avec les paramètres d’encodeur et d’encodeur d’image spécifiés. (Hérité de Image) |
Save(String, ImageFormat) |
Enregistre cette Image dans le fichier spécifié au format spécifié. (Hérité de Image) |
Save(String) |
Enregistre cette Image dans le fichier ou le flux spécifié. (Hérité de Image) |
SaveAdd(EncoderParameters) |
Ajoute un cadre au fichier ou au flux spécifié dans un appel précédent à la méthode Save. Utilisez cette méthode pour enregistrer les images sélectionnées d’une image à plusieurs images dans une autre image à plusieurs images. (Hérité de Image) |
SaveAdd(Image, EncoderParameters) |
Ajoute un cadre au fichier ou au flux spécifié dans un appel précédent à la méthode Save. (Hérité de Image) |
SelectActiveFrame(FrameDimension, Int32) |
Sélectionne le cadre spécifié par la dimension et l’index. (Hérité de Image) |
SetPropertyItem(PropertyItem) |
Stocke un élément de propriété (élément de métadonnées) dans cette Image. (Hérité de Image) |
ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Remplit une SerializationInfo avec les données nécessaires pour sérialiser l’objet cible. (Hérité de Image) |