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 de graphiques qui peuvent être enregistrées (construites) et lues (affichées). Cette classe n'est pas héritable.
public ref class Metafile sealed : System::Drawing::Image
public sealed class Metafile : 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
type Metafile = class
inherit Image
[<System.Serializable>]
type Metafile = class
inherit Image
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(false)>]
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 PlayRecord méthode .
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 Save méthode pour enregistrer une image graphique en tant que fichier WMF (Windows Metafile Format) ou EMF (Enhanced Metafile Format), le fichier résultant est enregistré en tant que fichier PNG (Portable Network Graphics). Ce comportement se produit parce que 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.
Notes
Dans .NET 6 et versions ultérieures, le package System.Drawing.Common, qui inclut ce type, est uniquement pris en charge sur les systèmes d’exploitation Windows. L’utilisation de ce type dans les applications multiplateformes entraîne des avertissements au moment de la compilation et des exceptions au moment de l’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) |
Initialise une nouvelle instance de la classe Metafile à partir du handle spécifié d'un contexte de périphérique (DC) et d'une énumération EmfType qui spécifie le format du Metafile. |
Metafile(IntPtr, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile à partir du handle spécifié d'un contexte de périphérique (DC) et d'une énumération EmfType qui spécifie le format du Metafile. Une chaîne peut être fournie pour nommer le fichier. |
Metafile(IntPtr, Rectangle) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte de périphérique (DC) spécifié, limité par le rectangle spécifié. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte de périphérique (DC) spécifié, limité par le rectangle spécifié qui utilise l'unité de mesure spécifiée. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte de périphérique (DC) spécifié, délimité par le rectangle spécifié qui utilise l'unité de mesure spécifiée 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 de périphérique (DC) spécifié, délimité par le rectangle spécifié qui utilise l'unité de mesure spécifiée 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) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte de périphérique (DC) spécifié, limité par le rectangle spécifié. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte de périphérique (DC) spécifié, limité par le rectangle spécifié qui utilise l'unité de mesure spécifiée. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte de périphérique (DC) spécifié, délimité par le rectangle spécifié qui utilise l'unité de mesure spécifiée et une énumération EmfType qui spécifie le format du Metafile. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile à partir du contexte de périphérique (DC) spécifié, délimité par le rectangle spécifié qui utilise l'unité de mesure spécifiée et une énumération EmfType qui spécifie le format du Metafile. Une chaîne peut être fournie pour nommer le fichier. |
Metafile(IntPtr, WmfPlaceableFileHeader) |
Initialise une nouvelle instance de la classe Metafile à partir du handle spécifié et d'un WmfPlaceableFileHeader. |
Metafile(IntPtr, WmfPlaceableFileHeader, Boolean) |
Initialise une nouvelle instance de la classe Metafile à partir du handle spécifié et d'un WmfPlaceableFileHeader. De même, le paramètre |
Metafile(Stream) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié. |
Metafile(Stream, IntPtr) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié. |
Metafile(Stream, IntPtr, EmfType) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, un handle Windows d'un contexte de périphérique (DC) et une énumération EmfType qui spécifie le format du Metafile. |
Metafile(Stream, IntPtr, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, un handle Windows d'un contexte de périphérique (DC) et une énumération EmfType qui spécifie le format du Metafile. De même, une chaîne qui contient un nom descriptif pour le nouveau Metafile peut être ajoutée. |
Metafile(Stream, IntPtr, Rectangle) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, un handle Windows d'un contexte de périphérique (DC) et une structure Rectangle qui représente le rectangle qui délimite le nouveau Metafile. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, un handle Windows d'un contexte de périphérique (DC), une structure Rectangle qui représente le rectangle qui délimite le nouveau Metafile et l'unité de mesure fournie. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, un handle Windows d'un contexte de périphérique (DC) et une structure Rectangle qui représente le rectangle qui dé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, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, un handle Windows d'un contexte de périphérique (DC) et une structure Rectangle qui représente le rectangle qui dé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 le nouveau Metafile peut être ajoutée. |
Metafile(Stream, IntPtr, RectangleF) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, un handle Windows d'un contexte de périphérique (DC) et une structure RectangleF qui représente le rectangle qui délimite le nouveau Metafile. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, un handle Windows d'un contexte de périphérique (DC), une structure RectangleF qui représente le rectangle qui délimite le nouveau Metafile et l'unité de mesure fournie. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, un handle Windows d'un contexte de périphérique (DC) et une structure RectangleF qui représente le rectangle qui dé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, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile à partir du flux de données spécifié, un handle Windows d'un contexte de périphérique (DC) et une structure RectangleF qui représente le rectangle qui dé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 le nouveau Metafile peut être ajoutée. |
Metafile(String) |
Initialise une nouvelle instance de la classe Metafile à partir du nom de fichier spécifié. |
Metafile(String, IntPtr) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié. |
Metafile(String, IntPtr, EmfType) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows d'un contexte de périphérique (DC) et une énumération EmfType qui spécifie le format du Metafile. |
Metafile(String, IntPtr, EmfType, String) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows d'un contexte de périphérique (DC) 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) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows d'un contexte de périphérique (DC) et une structure Rectangle qui représente le rectangle qui délimite le nouveau Metafile. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows d'un contexte de périphérique (DC), une structure Rectangle qui représente le rectangle qui délimite le nouveau Metafile et l'unité de mesure fournie. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows d'un contexte de périphérique (DC) et une structure Rectangle qui représente le rectangle qui délimite le nouveau Metafile, l'unité de mesure fournie 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 d'un contexte de périphérique (DC) et une structure Rectangle qui représente le rectangle qui délimite le nouveau 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, String) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows d'un contexte de périphérique (DC), une structure Rectangle qui représente le rectangle qui délimite le nouveau Metafile et l'unité de mesure fournie. Une chaîne descriptive peut également être ajoutée. |
Metafile(String, IntPtr, RectangleF) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows d'un contexte de périphérique (DC) et une structure RectangleF qui représente le rectangle qui délimite le nouveau Metafile. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows d'un contexte de périphérique (DC), une structure RectangleF qui représente le rectangle qui délimite le nouveau Metafile et l'unité de mesure fournie. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows d'un contexte de périphérique (DC) et une structure RectangleF qui représente le rectangle qui délimite le nouveau Metafile, l'unité de mesure fournie et une énumération EmfType qui spécifie le format du 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 d'un contexte de périphérique (DC) et une structure RectangleF qui représente le rectangle qui délimite le nouveau 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, String) |
Initialise une nouvelle instance de la classe Metafile avec le nom de fichier spécifié, un handle Windows d'un contexte de périphérique (DC), une structure RectangleF qui représente le rectangle qui délimite le nouveau Metafile et l'unité de mesure fournie. Une chaîne descriptive peut également être ajoutée. |
Propriétés
Flags |
Obtient des indicateurs d'attribut pour les données de pixels de ce Image. (Hérité de Image) |
FrameDimensionsList |
Obtient un tableau de GUID qui représentent les dimensions des frames dans ce Image. (Hérité de Image) |
Height |
Obtient la hauteur, en pixels, de cet objet Image. (Hérité de Image) |
HorizontalResolution |
Obtient la résolution horizontale, en pixels par pouce, de ce Image. (Hérité de Image) |
Palette |
Obtient ou définit la palette de couleurs de ce 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 de ce Image. (Hérité de Image) |
PropertyIdList |
Obtient les ID des éléments de propriété stockés dans ce Image. (Hérité de Image) |
PropertyItems |
Obtient tous les éléments de propriété (métadonnées) stockés dans ce 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 de cette image en pixels. (Hérité de Image) |
Tag |
Obtient ou définit un objet qui contient des données supplémentaires sur l'image. (Hérité de Image) |
VerticalResolution |
Obtient la résolution verticale, en pixels par pouce, de ce Image. (Hérité de Image) |
Width |
Obtient la largeur, en pixels, de cet objet Image. (Hérité de Image) |
Méthodes
Clone() |
Crée une copie exacte de Image. (Hérité de Image) |
CreateObjRef(Type) |
Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
Dispose() |
Libère toutes les ressources utilisées par ce Image. (Hérité de Image) |
Dispose(Boolean) |
Libère les ressources non managées utilisées par 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 de frames de la dimension spécifiée. (Hérité de Image) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetHenhmetafile() |
Retourne un handle Windows d'un Metafile amélioré. |
GetLifetimeService() |
Obsolète.
Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
GetMetafileHeader() |
Retourne l'objet MetafileHeader associé à cet objet Metafile. |
GetMetafileHeader(IntPtr) |
Retourne le MetafileHeader associé au Metafile spécifié. |
GetMetafileHeader(IntPtr, WmfPlaceableFileHeader) |
Retourne le MetafileHeader associé au Metafile spécifié. |
GetMetafileHeader(Stream) |
Retourne le MetafileHeader associé au Metafile spécifié. |
GetMetafileHeader(String) |
Retourne le MetafileHeader associé au Metafile spécifié. |
GetPropertyItem(Int32) |
Obtient l'élément de propriété spécifié à partir de ce Image. (Hérité de Image) |
GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr) |
Retourne la miniature de ce Image. (Hérité de Image) |
GetType() |
Obtient le 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 Object actuel. (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. |
RemovePropertyItem(Int32) |
Supprime l'élément de propriété spécifié de ce Image. (Hérité de Image) |
RotateFlip(RotateFlipType) |
Fait pivoter ou retourne Image, ou le fait pivoter en le retournant. (Hérité de Image) |
Save(Stream, ImageCodecInfo, EncoderParameters) |
Enregistre cette image dans le flux spécifié, avec l'encodeur et les paramètres d'encodeur d'image définis. (Hérité de Image) |
Save(Stream, ImageFormat) |
Enregistre cette image dans le fichier spécifié au format spécifié. (Hérité de Image) |
Save(String) |
Enregistre ce Image dans le fichier ou le flux spécifié. (Hérité de Image) |
Save(String, ImageCodecInfo, EncoderParameters) |
Enregistre ce Image dans le fichier spécifié, avec l'encodeur et les paramètres d'encodeur d'image définis. (Hérité de Image) |
Save(String, ImageFormat) |
Enregistre ce Image dans le fichier spécifié au format spécifié. (Hérité de Image) |
SaveAdd(EncoderParameters) |
Ajoute un frame au fichier ou au flux spécifié dans un appel précédent à la méthode Save. Utilisez cette méthode pour enregistrer les frames sélectionnés d'une image à plusieurs frames dans une autre image à plusieurs frames. (Hérité de Image) |
SaveAdd(Image, EncoderParameters) |
Ajoute un frame 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 frame spécifié par la dimension et l'index. (Hérité de Image) |
SetPropertyItem(PropertyItem) |
Stocke un élément de propriété (métadonnées) dans cet objet 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 SerializationInfo avec les données nécessaires pour sérialiser l'objet cible. (Hérité de Image) |