Metafile Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Definuje grafický metasoubor. Metasoubor obsahuje záznamy, které popisují posloupnost grafických operací, které lze zaznamenat (vytvořit) a přehrát (zobrazit). Tuto třídu nelze dědit.
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
- Dědičnost
- Atributy
Příklady
Následující příklad kódu ukazuje, jak vytvořit Metafile a použít metodu 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
Poznámky
Pokud použijete metodu Save k uložení grafického obrázku jako soubor WMF (Windows Metafile Format) nebo EMF (Enhanced Metafile Format), výsledný soubor se místo toho uloží jako soubor PNG (Portable Network Graphics). K tomuto chování dochází, protože komponenta GDI+ rozhraní .NET Framework nemá kodér, který lze použít k ukládání souborů jako .wmf nebo .emf souborů.
Poznámka
V .NET 6 a novějších verzích je balíček System.Drawing.Common, který obsahuje tento typ, podporován pouze v operačních systémech Windows. Použití tohoto typu v multiplatformních aplikacích způsobuje upozornění při kompilaci a výjimky za běhu. Další informace najdete v tématu System.Drawing.Common podporované pouze ve Windows.
Konstruktory
Metafile(IntPtr, Boolean) |
Inicializuje novou instanci Metafile třídy ze zadaného popisovače. |
Metafile(IntPtr, EmfType) |
Inicializuje novou instanci Metafile třídy ze zadaného popisovače do kontextu zařízení a EmfType výčet, který určuje formát Metafile. |
Metafile(IntPtr, EmfType, String) |
Inicializuje novou instanci Metafile třídy ze zadaného popisovače do kontextu zařízení a EmfType výčet, který určuje formát Metafile. K pojmenování souboru je možné zadat řetězec. |
Metafile(IntPtr, Rectangle) |
Inicializuje novou instanci Metafile třídy ze zadaného kontextu zařízení ohraničenou zadaným obdélníkem. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit) |
Inicializuje novou instanci Metafile třídy ze zadaného kontextu zařízení ohraničenou zadaným obdélníkem, který používá zadanou měrnou jednotku. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci Metafile třídy ze zadaného kontextu zařízení ohraničenou zadaným obdélníkem, který používá zadanou měrnou jednotku EmfType , a výčet, který určuje formát objektu Metafile. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci Metafile třídy ze zadaného kontextu zařízení ohraničenou zadaným obdélníkem, který používá zadanou měrnou jednotku EmfType , a výčet, který určuje formát objektu Metafile. K pojmenování souboru je možné zadat řetězec. |
Metafile(IntPtr, RectangleF) |
Inicializuje novou instanci Metafile třídy ze zadaného kontextu zařízení ohraničenou zadaným obdélníkem. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit) |
Inicializuje novou instanci Metafile třídy ze zadaného kontextu zařízení ohraničenou zadaným obdélníkem, který používá zadanou měrnou jednotku. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci Metafile třídy ze zadaného kontextu zařízení ohraničenou zadaným obdélníkem, který používá zadanou měrnou jednotku EmfType , a výčet, který určuje formát objektu Metafile. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci Metafile třídy ze zadaného kontextu zařízení ohraničenou zadaným obdélníkem, který používá zadanou měrnou jednotku EmfType , a výčet, který určuje formát objektu Metafile. K pojmenování souboru je možné zadat řetězec. |
Metafile(IntPtr, WmfPlaceableFileHeader) |
Inicializuje novou instanci Metafile třídy ze zadaného popisovače a WmfPlaceableFileHeader. |
Metafile(IntPtr, WmfPlaceableFileHeader, Boolean) |
Inicializuje novou instanci Metafile třídy ze zadaného popisovače a WmfPlaceableFileHeader. |
Metafile(Stream) |
Inicializuje novou instanci Metafile třídy ze zadaného datového streamu. |
Metafile(Stream, IntPtr) |
Inicializuje novou instanci Metafile třídy ze zadaného datového streamu. |
Metafile(Stream, IntPtr, EmfType) |
Inicializuje novou instanci Metafile třídy ze zadaného datového Metafileproudu, popisovač Systému Windows do kontextu zařízení a EmfType výčet, který určuje formát . |
Metafile(Stream, IntPtr, EmfType, String) |
Inicializuje novou instanci Metafile třídy ze zadaného datového Metafileproudu, popisovač Systému Windows do kontextu zařízení a EmfType výčet, který určuje formát . Je také možné přidat řetězec, který obsahuje popisný název nového Metafile objektu. |
Metafile(Stream, IntPtr, Rectangle) |
Inicializuje novou instanci třídy ze zadaného datového Metafile proudu, popisovač Systému Windows do kontextu zařízení a Rectangle strukturu, která představuje obdélník, který ohraničuje nový Metafile. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit) |
Inicializuje novou instanci třídy ze zadaného datového Metafile proudu, popisovač systému Windows do kontextu zařízení, strukturu, Rectangle která představuje obdélník, který ohraničuje nový Metafile, a zadanou měrnou jednotku. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci třídy ze zadaného Metafile datového proudu, popisovač Systému Windows do kontextu zařízení, strukturu, Rectangle která představuje obdélník, který ohraničuje novou Metafile, zadanou měrnou jednotku EmfType a výčet, který určuje formát objektu Metafile. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci třídy ze zadaného Metafile datového proudu, popisovač Systému Windows do kontextu zařízení, strukturu, Rectangle která představuje obdélník, který ohraničuje novou Metafile, zadanou měrnou jednotku EmfType a výčet, který určuje formát objektu Metafile. Řetězec, který obsahuje popisný název nového Metafile , lze přidat. |
Metafile(Stream, IntPtr, RectangleF) |
Inicializuje novou instanci třídy ze zadaného datového Metafile proudu, popisovač Systému Windows do kontextu zařízení a RectangleF strukturu, která představuje obdélník, který ohraničuje nový Metafile. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit) |
Inicializuje novou instanci třídy ze zadaného datového Metafile proudu, popisovač systému Windows do kontextu zařízení, strukturu, RectangleF která představuje obdélník, který ohraničuje nový Metafile, a zadanou měrnou jednotku. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci třídy ze zadaného Metafile datového proudu, popisovač Systému Windows do kontextu zařízení, strukturu, RectangleF která představuje obdélník, který ohraničuje novou Metafile, zadanou měrnou jednotku EmfType a výčet, který určuje formát objektu Metafile. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci třídy ze zadaného Metafile datového proudu, popisovač Systému Windows do kontextu zařízení, strukturu, RectangleF která představuje obdélník, který ohraničuje novou Metafile, zadanou měrnou jednotku EmfType a výčet, který určuje formát objektu Metafile. Řetězec, který obsahuje popisný název nového Metafile , lze přidat. |
Metafile(String) |
Inicializuje novou instanci Metafile třídy ze zadaného názvu souboru. |
Metafile(String, IntPtr) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru. |
Metafile(String, IntPtr, EmfType) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows kontextu zařízení a výčtem EmfType , který určuje formát objektu Metafile. |
Metafile(String, IntPtr, EmfType, String) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows kontextu zařízení a výčtem EmfType , který určuje formát objektu Metafile. Můžete také přidat popisný řetězec. |
Metafile(String, IntPtr, Rectangle) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows pro kontext zařízení a strukturou Rectangle , která představuje obdélník, který ohraničuje nový Metafileobjekt . |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows kontextu zařízení, strukturou Rectangle , která představuje obdélník ohraničuje nový Metafile, a zadanou měrnou jednotkou. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows pro kontext zařízení, strukturou Rectangle , která představuje obdélník ohraničuje novou Metafile, zadanou měrnou jednotku EmfType a výčet, který určuje formát objektu Metafile. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows pro kontext zařízení, strukturou Rectangle , která představuje obdélník ohraničuje novou Metafile, zadanou měrnou jednotku EmfType a výčet, který určuje formát objektu Metafile. Můžete také přidat popisný řetězec. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, String) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows kontextu zařízení, strukturou Rectangle , která představuje obdélník ohraničuje nový Metafile, a zadanou měrnou jednotkou. Můžete také přidat popisný řetězec. |
Metafile(String, IntPtr, RectangleF) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows pro kontext zařízení a strukturou RectangleF , která představuje obdélník, který ohraničuje nový Metafileobjekt . |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows kontextu zařízení, strukturou RectangleF , která představuje obdélník ohraničuje nový Metafile, a zadanou měrnou jednotkou. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows pro kontext zařízení, strukturou RectangleF , která představuje obdélník ohraničuje novou Metafile, zadanou měrnou jednotku EmfType a výčet, který určuje formát objektu Metafile. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows pro kontext zařízení, strukturou RectangleF , která představuje obdélník ohraničuje novou Metafile, zadanou měrnou jednotku EmfType a výčet, který určuje formát objektu Metafile. Můžete také přidat popisný řetězec. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, String) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovačem systému Windows kontextu zařízení, strukturou RectangleF , která představuje obdélník ohraničuje nový Metafile, a zadanou měrnou jednotkou. Můžete také přidat popisný řetězec. |
Vlastnosti
Flags |
Získá příznaky atributu pro pixel data tohoto Image. (Zděděno od Image) |
FrameDimensionsList |
Získá pole identifikátorů GUID, které představují rozměry rámců v rámci tohoto Imageobjektu . (Zděděno od Image) |
Height |
Získá výšku v pixelech tohoto Imageobjektu . (Zděděno od Image) |
HorizontalResolution |
Získá vodorovné rozlišení v pixelech na paleci tohoto Imageobjektu . (Zděděno od Image) |
Palette |
Získá nebo nastaví paletu barev použitou pro tento Imageobjekt . (Zděděno od Image) |
PhysicalDimension |
Získá šířku a výšku tohoto obrázku. (Zděděno od Image) |
PixelFormat |
Získá formát pixel pro tento Image. (Zděděno od Image) |
PropertyIdList |
Získá ID položek vlastností uložených v tomto Imagesouboru . (Zděděno od Image) |
PropertyItems |
Získá všechny položky vlastnosti (části metadat) uložené v tomto Imageobjektu . (Zděděno od Image) |
RawFormat |
Získá formát souboru tohoto Image. (Zděděno od Image) |
Size |
Získá šířku a výšku v pixelech tohoto obrázku. (Zděděno od Image) |
Tag |
Získá nebo nastaví objekt, který poskytuje další data o obrázku. (Zděděno od Image) |
VerticalResolution |
Získá svislé rozlišení v pixelech na paleci tohoto Imageobjektu . (Zděděno od Image) |
Width |
Získá šířku v pixelech tohoto Imageobjektu . (Zděděno od Image) |
Metody
Clone() |
Vytvoří přesnou kopii tohoto Imageobjektu . (Zděděno od Image) |
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy používaného ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
Dispose() |
Uvolní všechny prostředky používané tímto Imagenástrojem . (Zděděno od Image) |
Dispose(Boolean) |
Uvolní nespravované prostředky používané nástrojem Image a volitelně uvolní spravované prostředky. (Zděděno od Image) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetBounds(GraphicsUnit) |
Získá hranice obrázku v zadané jednotce. (Zděděno od Image) |
GetEncoderParameterList(Guid) |
Vrátí informace o parametrech podporovaných zadaným kodérem obrázku. (Zděděno od Image) |
GetFrameCount(FrameDimension) |
Vrátí počet snímků zadané dimenze. (Zděděno od Image) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetHenhmetafile() |
Vrátí popisovač windows rozšířeného Metafileobjektu . |
GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetMetafileHeader() |
Vrátí hodnotu přidruženou MetafileHeader k tomuto Metafile. |
GetMetafileHeader(IntPtr) |
Vrátí hodnotu přidruženou MetafileHeader k zadanému Metafile. |
GetMetafileHeader(IntPtr, WmfPlaceableFileHeader) |
Vrátí hodnotu přidruženou MetafileHeader k zadanému Metafile. |
GetMetafileHeader(Stream) |
Vrátí hodnotu přidruženou MetafileHeader k zadanému Metafile. |
GetMetafileHeader(String) |
Vrátí hodnotu přidruženou MetafileHeader k zadanému Metafileparametru . |
GetPropertyItem(Int32) |
Získá zadanou položku vlastnosti z tohoto Imageobjektu . (Zděděno od Image) |
GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr) |
Vrátí miniaturu pro tento Image. (Zděděno od Image) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
PlayRecord(EmfPlusRecordType, Int32, Int32, Byte[]) |
Přehraje jednotlivý záznam metasouboru. |
RemovePropertyItem(Int32) |
Odebere zadanou položku vlastnosti z tohoto Imageobjektu . (Zděděno od Image) |
RotateFlip(RotateFlipType) |
Otočí, překlopí nebo otočí a překlopí Image. (Zděděno od Image) |
Save(Stream, ImageCodecInfo, EncoderParameters) |
Uloží tento obrázek do zadaného datového proudu se zadanými parametry kodéru a kodéru obrázků. (Zděděno od Image) |
Save(Stream, ImageFormat) |
Uloží tento obrázek do zadaného datového proudu v zadaném formátu. (Zděděno od Image) |
Save(String) |
Uloží ho Image do zadaného souboru nebo datového proudu. (Zděděno od Image) |
Save(String, ImageCodecInfo, EncoderParameters) |
Uloží ho Image do zadaného souboru se zadanými parametry kodéru a kodéru obrázků. (Zděděno od Image) |
Save(String, ImageFormat) |
Uloží soubor Image do zadaného souboru v zadaném formátu. (Zděděno od Image) |
SaveAdd(EncoderParameters) |
Přidá rámec do souboru nebo datového proudu zadaného v předchozím volání Save metody . Tuto metodu použijte k uložení vybraných snímků z obrázku s více snímky do jiného obrázku s více snímky. (Zděděno od Image) |
SaveAdd(Image, EncoderParameters) |
Přidá rámec do souboru nebo datového proudu zadaného v předchozím volání Save metody . (Zděděno od Image) |
SelectActiveFrame(FrameDimension, Int32) |
Vybere rámeček určený rozměrem a indexem. (Zděděno od Image) |
SetPropertyItem(PropertyItem) |
Ukládá položku vlastnosti (část metadat) v tomto Imagesouboru . (Zděděno od Image) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Naplní SerializationInfo objekt daty potřebnými k serializaci cílového objektu. (Zděděno od Image) |