Metafile Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Grafikus metafájlt definiál. A metafájlok olyan rekordokat tartalmaznak, amelyek olyan grafikus műveletek sorozatát írják le, amelyek rögzíthetők (létrehozhatók) és lejátszhatók (megjeleníthetők). Ez az osztály nem örökölhető.
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
- Öröklődés
- Attribútumok
Példák
Az alábbi példakód bemutatja, hogyan hozhat létre és használhatja a metódust MetafilePlayRecord .
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
Megjegyzések
Ha a Save metódussal ment egy grafikus képet Windows Metafile Format (WMF) vagy Enhanced Metafile Format (EMF) fájlként, az eredményül kapott fájl hordozható hálózati grafikus (PNG) fájlként lesz mentve. Ez a viselkedés azért fordul elő, mert a .NET-keretrendszer GDI+ összetevőjének nincs kódolója, amellyel fájlokat menthet .wmf vagy .emf fájlokként.
Note
A .NET 6-os és újabb verzióiban az ilyen típusú System.Drawing.Common csomag csak Windows operációs rendszereken támogatott. Az ilyen típusú alkalmazások platformfüggetlen használata fordítási időt jelző figyelmeztetéseket és futásidejű kivételeket okoz. További információ: System.Drawing.Common csak Windows rendszeren támogatott.
Konstruktorok
| Name | Description |
|---|---|
| Metafile(IntPtr, Boolean) |
Inicializálja az osztály új példányát Metafile a megadott leíróból. |
| Metafile(IntPtr, EmfType, String) |
Inicializálja az osztály új példányát a Metafile megadott leíróból egy eszközkörnyezetbe, és egy számbavételt EmfType , amely meghatározza a Metafileformátumot. A fájl elnevezéséhez megadható egy sztring. |
| Metafile(IntPtr, EmfType) |
Inicializálja az osztály új példányát a Metafile megadott leíróból egy eszközkörnyezetbe, és egy számbavételt EmfType , amely meghatározza a Metafileformátumot. |
| Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicializálja az Metafile osztály új példányát a megadott eszközkörnyezetből, a megadott mértékegységet használó téglalap és a EmfType formátumot Metafilemeghatározó enumerálás által határolt. A fájl elnevezéséhez megadható egy sztring. |
| Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicializálja az Metafile osztály új példányát a megadott eszközkörnyezetből, a megadott mértékegységet használó téglalap és a EmfType formátumot Metafilemeghatározó enumerálás által határolt. |
| Metafile(IntPtr, Rectangle, MetafileFrameUnit) |
Inicializálja az osztály új példányát a Metafile megadott eszközkörnyezetből, a megadott mértékegységet használó téglalap határolja. |
| Metafile(IntPtr, Rectangle) |
Inicializálja az osztály új példányát a Metafile megadott eszközkörnyezetből, a megadott téglalap határolja. |
| Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicializálja az Metafile osztály új példányát a megadott eszközkörnyezetből, a megadott mértékegységet használó téglalap és a EmfType formátumot Metafilemeghatározó enumerálás által határolt. A fájl elnevezéséhez megadható egy sztring. |
| Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicializálja az Metafile osztály új példányát a megadott eszközkörnyezetből, a megadott mértékegységet használó téglalap és a EmfType formátumot Metafilemeghatározó enumerálás által határolt. |
| Metafile(IntPtr, RectangleF, MetafileFrameUnit) |
Inicializálja az osztály új példányát a Metafile megadott eszközkörnyezetből, a megadott mértékegységet használó téglalap határolja. |
| Metafile(IntPtr, RectangleF) |
Inicializálja az osztály új példányát a Metafile megadott eszközkörnyezetből, a megadott téglalap határolja. |
| Metafile(IntPtr, WmfPlaceableFileHeader, Boolean) |
Inicializálja az osztály új példányát a Metafile megadott leíróból és egy WmfPlaceableFileHeader. A paraméter a |
| Metafile(IntPtr, WmfPlaceableFileHeader) |
Inicializálja az osztály új példányát a Metafile megadott leíróból és egy WmfPlaceableFileHeader. |
| Metafile(Stream, IntPtr, EmfType, String) |
Inicializálja a Metafile osztály új példányát a megadott adatfolyamból, egy Windows leírót egy eszközkörnyezetbe, valamint egy EmfType enumerálást, amely meghatározza a Metafile formátumát. Emellett hozzáadhat egy sztringet is, amely az új Metafile leíró nevét tartalmazza. |
| Metafile(Stream, IntPtr, EmfType) |
Inicializálja a Metafile osztály új példányát a megadott adatfolyamból, egy Windows leírót egy eszközkörnyezetbe, valamint egy EmfType enumerálást, amely meghatározza a Metafile formátumát. |
| Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicializálja a Metafile osztály új példányát a megadott adatfolyamból, egy Windows leíró egy eszközkörnyezethez, egy Rectangle struktúra, amely az új Metafile, a megadott mértékegységet, valamint a EmfType formátumát meghatározó Metafile enumerálást jelöli. Hozzáadhat egy sztringet, amely az új Metafile leíró nevét tartalmazza. |
| Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicializálja a Metafile osztály új példányát a megadott adatfolyamból, egy Windows leíró egy eszközkörnyezethez, egy Rectangle struktúra, amely az új Metafile, a megadott mértékegységet, valamint a EmfType formátumát meghatározó Metafile enumerálást jelöli. |
| Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit) |
Inicializálja a Metafile osztály új példányát a megadott adatfolyamból, egy Windows leírót egy eszközkörnyezetbe, egy Rectangle struktúrát, amely az új Metafile határolt téglalapot és a megadott mértékegységet jelöli. |
| Metafile(Stream, IntPtr, Rectangle) |
Inicializálja a Metafile osztály új példányát a megadott adatfolyamból, egy Windows leírót egy eszközkörnyezetbe, valamint egy Rectangle struktúrát, amely az új Metafile téglalapot jelöli. |
| Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicializálja a Metafile osztály új példányát a megadott adatfolyamból, egy Windows leíró egy eszközkörnyezethez, egy RectangleF struktúra, amely az új Metafile, a megadott mértékegységet, valamint a EmfType formátumát meghatározó Metafile enumerálást jelöli. Hozzáadhat egy sztringet, amely az új Metafile leíró nevét tartalmazza. |
| Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicializálja a Metafile osztály új példányát a megadott adatfolyamból, egy Windows leíró egy eszközkörnyezethez, egy RectangleF struktúra, amely az új Metafile, a megadott mértékegységet, valamint a EmfType formátumát meghatározó Metafile enumerálást jelöli. |
| Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit) |
Inicializálja a Metafile osztály új példányát a megadott adatfolyamból, egy Windows leírót egy eszközkörnyezetbe, egy RectangleF struktúrát, amely az új Metafile határolt téglalapot és a megadott mértékegységet jelöli. |
| Metafile(Stream, IntPtr, RectangleF) |
Inicializálja a Metafile osztály új példányát a megadott adatfolyamból, egy Windows leírót egy eszközkörnyezetbe, valamint egy RectangleF struktúrát, amely az új Metafile téglalapot jelöli. |
| Metafile(Stream, IntPtr) |
Inicializálja az Metafile osztály új példányát a megadott adatfolyamból. |
| Metafile(Stream) |
Inicializálja az Metafile osztály új példányát a megadott adatfolyamból. |
| Metafile(String, IntPtr, EmfType, String) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leírót egy eszközkörnyezethez, valamint egy EmfType enumerálást, amely meghatározza a Metafile formátumát. Egy leíró sztring is hozzáadható. |
| Metafile(String, IntPtr, EmfType) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leírót egy eszközkörnyezethez, valamint egy EmfType enumerálást, amely meghatározza a Metafile formátumát. |
| Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leíró egy eszközkörnyezethez, egy Rectangle struktúra, amely az új Metafile, a megadott mértékegységet és egy EmfType enumerálást jelöl, amely a Metafile formátumát határozza meg. Egy leíró sztring is hozzáadható. |
| Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leíró egy eszközkörnyezethez, egy Rectangle struktúra, amely az új Metafile, a megadott mértékegységet és egy EmfType enumerálást jelöl, amely a Metafile formátumát határozza meg. |
| Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, String) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leírót egy eszközkörnyezethez, egy Rectangle szerkezetet, amely az új Metafile határát képező téglalapot és a megadott mértékegységet jelöli. Egy leíró sztring is hozzáadható. |
| Metafile(String, IntPtr, Rectangle, MetafileFrameUnit) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leírót egy eszközkörnyezethez, egy Rectangle szerkezetet, amely az új Metafile határát képező téglalapot és a megadott mértékegységet jelöli. |
| Metafile(String, IntPtr, Rectangle) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leírót egy eszközkörnyezethez, valamint egy Rectangle struktúrát, amely az új Metafile téglalapot jelöli. |
| Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leíró egy eszközkörnyezethez, egy RectangleF struktúra, amely az új Metafile, a megadott mértékegységet és egy EmfType enumerálást jelöl, amely a Metafile formátumát határozza meg. Egy leíró sztring is hozzáadható. |
| Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leíró egy eszközkörnyezethez, egy RectangleF struktúra, amely az új Metafile, a megadott mértékegységet és egy EmfType enumerálást jelöl, amely a Metafile formátumát határozza meg. |
| Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, String) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leírót egy eszközkörnyezethez, egy RectangleF szerkezetet, amely az új Metafile határát képező téglalapot és a megadott mértékegységet jelöli. Egy leíró sztring is hozzáadható. |
| Metafile(String, IntPtr, RectangleF, MetafileFrameUnit) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leírót egy eszközkörnyezethez, egy RectangleF szerkezetet, amely az új Metafile határát képező téglalapot és a megadott mértékegységet jelöli. |
| Metafile(String, IntPtr, RectangleF) |
Inicializálja a Metafile osztály új példányát a megadott fájlnévvel, egy Windows leírót egy eszközkörnyezethez, valamint egy RectangleF struktúrát, amely az új Metafile téglalapot jelöli. |
| Metafile(String, IntPtr) |
Inicializálja az osztály új példányát Metafile a megadott fájlnévvel. |
| Metafile(String) |
Inicializálja az Metafile osztály új példányát a megadott fájlnévből. |
Tulajdonságok
| Name | Description |
|---|---|
| Flags |
Lekéri a képpontadatok attribútumjelölőit.Image (Öröklődés forrása Image) |
| FrameDimensionsList |
Lekéri a képkockák dimenzióit ábrázoló grafikus GUID-tömböt.Image (Öröklődés forrása Image) |
| Height |
Ennek a magasságát képpontban Imageadja meg. (Öröklődés forrása Image) |
| HorizontalResolution |
Lekéri ennek a képpont/hüvelyk vízszintes felbontását Image. (Öröklődés forrása Image) |
| Palette |
Lekéri vagy beállítja az ehhez Imagehasznált színpalettát. (Öröklődés forrása Image) |
| PhysicalDimension |
Lekéri a kép szélességét és magasságát. (Öröklődés forrása Image) |
| PixelFormat |
Lekéri ennek a képpontformátumnak a formátumát Image. (Öröklődés forrása Image) |
| PropertyIdList |
Lekéri az ebben Imagea szakaszban tárolt tulajdonságelemek azonosítóit. (Öröklődés forrása Image) |
| PropertyItems |
Lekéri az ebben Imagea fájlban tárolt összes tulajdonságelemet (metaadat-elemet). (Öröklődés forrása Image) |
| RawFormat |
Lekéri ennek a fájlformátumnak a Imageformátumát. (Öröklődés forrása Image) |
| Size |
Lekéri a kép szélességét és magasságát képpontban. (Öröklődés forrása Image) |
| Tag |
Lekéri vagy beállít egy objektumot, amely további adatokat biztosít a képről. (Öröklődés forrása Image) |
| VerticalResolution |
Lekéri ennek a képpont/hüvelyk függőleges felbontását Image. (Öröklődés forrása Image) |
| Width |
Lekéri ennek a szélességét Imageképpontban. (Öröklődés forrása Image) |
Metódusok
| Name | Description |
|---|---|
| Clone() |
Ennek a példánynak a pontos másolatát Imagehozza létre. (Öröklődés forrása Image) |
| CreateObjRef(Type) |
Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt. (Öröklődés forrása MarshalByRefObject) |
| Dispose() |
Felszabadítja a jelen témakör által használt összes erőforrást Image. (Öröklődés forrása Image) |
| Dispose(Boolean) |
Felszabadítja a felügyelt erőforrások által Image használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat. (Öröklődés forrása Image) |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetBounds(GraphicsUnit) |
Lekéri a kép határait a megadott egységben. (Öröklődés forrása Image) |
| GetEncoderParameterList(Guid) |
A megadott képkódoló által támogatott paraméterekkel kapcsolatos információkat adja vissza. (Öröklődés forrása Image) |
| GetFrameCount(FrameDimension) |
A megadott dimenzió kereteinek számát adja vissza. (Öröklődés forrása Image) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetHenhmetafile() |
Egy Windows fogópontot ad vissza egy továbbfejlesztett Metafile. |
| GetLifetimeService() |
Elavult.
Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot. (Öröklődés forrása MarshalByRefObject) |
| GetMetafileHeader() |
MetafileHeader A társított értéket adja vissza.Metafile |
| GetMetafileHeader(IntPtr, WmfPlaceableFileHeader) |
MetafileHeader A megadotthoz Metafiletársított értéket adja vissza. |
| GetMetafileHeader(IntPtr) |
MetafileHeader A megadotthoz Metafiletársított értéket adja vissza. |
| GetMetafileHeader(Stream) |
MetafileHeader A megadotthoz Metafiletársított értéket adja vissza. |
| GetMetafileHeader(String) |
MetafileHeader A megadotthoz Metafiletársított értéket adja vissza. |
| GetPropertyItem(Int32) |
A megadott tulajdonságelemet ebből a tulajdonságból szerzi be Image. (Öröklődés forrása Image) |
| GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr) |
Ehhez a miniatűrhöz ad vissza miniatűrt Image. (Öröklődés forrása Image) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| InitializeLifetimeService() |
Elavult.
Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához. (Öröklődés forrása MarshalByRefObject) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| MemberwiseClone(Boolean) |
Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre. (Öröklődés forrása MarshalByRefObject) |
| PlayRecord(EmfPlusRecordType, Int32, Int32, Byte[]) |
Egyéni metafájlrekordot játszik le. |
| RemovePropertyItem(Int32) |
Eltávolítja a megadott tulajdonságelemet ebből a Imagetulajdonságból. (Öröklődés forrása Image) |
| RotateFlip(RotateFlipType) |
Elforgatja, tükrözi vagy elforgatja a elemet, és megfordítja a Imageelemet. (Öröklődés forrása Image) |
| Save(Stream, ImageCodecInfo, EncoderParameters) |
A rendszerképet a megadott streambe menti a megadott kódoló és képkódoló paraméterekkel. (Öröklődés forrása Image) |
| Save(Stream, ImageFormat) |
A rendszerképet a megadott formátumban menti a megadott streambe. (Öröklődés forrása Image) |
| Save(String, ImageCodecInfo, EncoderParameters) |
Ezt Image a megadott fájlba menti a megadott kódoló és képkódoló paraméterekkel. (Öröklődés forrása Image) |
| Save(String, ImageFormat) |
Ezt Image a fájlt a megadott formátumban menti a megadott fájlba. (Öröklődés forrása Image) |
| Save(String) |
Ezt Image menti a megadott fájlba vagy streambe. (Öröklődés forrása Image) |
| SaveAdd(EncoderParameters) |
Keret hozzáadása a metódushoz egy korábbi hívásban megadott fájlhoz vagy streamhez Save . Ezzel a módszerrel mentheti a kijelölt kereteket egy több képkockás rendszerképből egy másik több képkockás képbe. (Öröklődés forrása Image) |
| SaveAdd(Image, EncoderParameters) |
Keret hozzáadása a metódushoz egy korábbi hívásban megadott fájlhoz vagy streamhez Save . (Öröklődés forrása Image) |
| SelectActiveFrame(FrameDimension, Int32) |
Kiválasztja a dimenzió és az index által megadott keretet. (Öröklődés forrása Image) |
| SetPropertyItem(PropertyItem) |
Ebben a fájlban Imageegy tulajdonságelemet (metaadatot) tárol. (Öröklődés forrása Image) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Feltölti a SerializationInfo célobjektum szerializálásához szükséges adatokat. (Öröklődés forrása Image) |