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 popisující posloupnost grafických operací, které lze zaznamenat (vytvořit) a přehrát (zobrazit). Tato třída není zděděná.
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
- Dědičnost
- Atributy
Příklady
Následující příklad kódu ukazuje, jak vytvořit Metafile a použít PlayRecord metoda.
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 souboru WMF (Windows Metafile Format) nebo EMF (Enhanced Metafile Format), výsledný soubor se uloží jako soubor PNG (Portable Network Graphics). K tomuto chování dochází, protože komponenta GDI+ rozhraní .NET Framework nemá kodér, který můžete 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ý zahrnuje 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í v době kompilace a výjimky za běhu. Další informace naleznete v tématu System.Drawing.Common podporován pouze v systému Windows.
Konstruktory
Metafile(IntPtr, Boolean) |
Inicializuje novou instanci Metafile třídy ze zadaného popisovače. |
Metafile(IntPtr, EmfType, String) |
Inicializuje novou instanci třídy Metafile ze zadaného popisovače do kontextu zařízení a EmfType výčtu, který určuje formát Metafile. Řetězec lze zadat k pojmenování souboru. |
Metafile(IntPtr, EmfType) |
Inicializuje novou instanci třídy Metafile ze zadaného popisovače do kontextu zařízení a EmfType výčtu, který určuje formát Metafile. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci třídy Metafile ze zadaného kontextu zařízení ohraničeného zadaným obdélníkem, který používá zadanou jednotku měření, a EmfType výčet, který určuje formát Metafile. Řetězec lze zadat k pojmenování souboru. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci třídy Metafile ze zadaného kontextu zařízení ohraničeného zadaným obdélníkem, který používá zadanou jednotku měření, a EmfType výčet, který určuje formát Metafile. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit) |
Inicializuje novou instanci třídy Metafile ze zadaného kontextu zařízení ohraničeného zadaným obdélníkem, který používá zadanou jednotku měření. |
Metafile(IntPtr, Rectangle) |
Inicializuje novou instanci třídy Metafile ze zadaného kontextu zařízení ohraničeného zadaným obdélníkem. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci třídy Metafile ze zadaného kontextu zařízení ohraničeného zadaným obdélníkem, který používá zadanou jednotku měření, a EmfType výčet, který určuje formát Metafile. Řetězec lze zadat k pojmenování souboru. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci třídy Metafile ze zadaného kontextu zařízení ohraničeného zadaným obdélníkem, který používá zadanou jednotku měření, a EmfType výčet, který určuje formát Metafile. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit) |
Inicializuje novou instanci třídy Metafile ze zadaného kontextu zařízení ohraničeného zadaným obdélníkem, který používá zadanou jednotku měření. |
Metafile(IntPtr, RectangleF) |
Inicializuje novou instanci třídy Metafile ze zadaného kontextu zařízení ohraničeného zadaným obdélníkem. |
Metafile(IntPtr, WmfPlaceableFileHeader, Boolean) |
Inicializuje novou instanci třídy Metafile ze zadaného popisovače a WmfPlaceableFileHeader. Parametr |
Metafile(IntPtr, WmfPlaceableFileHeader) |
Inicializuje novou instanci třídy Metafile ze zadaného popisovače a WmfPlaceableFileHeader. |
Metafile(Stream, IntPtr, EmfType, String) |
Inicializuje novou instanci Metafile třídy ze zadaného datového proudu, popisovač Windows do kontextu zařízení a EmfType výčet, který určuje formát Metafile. Můžete také přidat řetězec, který obsahuje popisný název nového Metafile. |
Metafile(Stream, IntPtr, EmfType) |
Inicializuje novou instanci Metafile třídy ze zadaného datového proudu, popisovač Windows do kontextu zařízení a EmfType výčet, který určuje formát Metafile. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci třídy Metafile ze zadaného datového streamu, popisovač Windows do kontextu zařízení, Rectangle strukturu, která představuje obdélník, který ohraničuje novou Metafile, zadanou jednotku míry a EmfType výčet, který určuje formát Metafile. Lze přidat řetězec, který obsahuje popisný název nového Metafile. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci třídy Metafile ze zadaného datového streamu, popisovač Windows do kontextu zařízení, Rectangle strukturu, která představuje obdélník, který ohraničuje novou Metafile, zadanou jednotku míry a EmfType výčet, který určuje formát Metafile. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit) |
Inicializuje novou instanci třídy Metafile ze zadaného datového proudu, obslužný rutina Windows do kontextu zařízení, Rectangle strukturu, která představuje obdélník, který ohraničuje novou Metafilea zadanou jednotku měření. |
Metafile(Stream, IntPtr, Rectangle) |
Inicializuje novou instanci třídy Metafile ze zadaného datového proudu, popisovač Windows do kontextu zařízení a Rectangle strukturu, která představuje obdélník, který ohraničuje nový Metafile. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci třídy Metafile ze zadaného datového streamu, popisovač Windows do kontextu zařízení, RectangleF strukturu, která představuje obdélník, který ohraničuje novou Metafile, zadanou jednotku míry a EmfType výčet, který určuje formát Metafile. Lze přidat řetězec, který obsahuje popisný název nového Metafile. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci třídy Metafile ze zadaného datového streamu, popisovač Windows do kontextu zařízení, RectangleF strukturu, která představuje obdélník, který ohraničuje novou Metafile, zadanou jednotku míry a EmfType výčet, který určuje formát Metafile. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit) |
Inicializuje novou instanci třídy Metafile ze zadaného datového proudu, obslužný rutina Windows do kontextu zařízení, RectangleF strukturu, která představuje obdélník, který ohraničuje novou Metafilea zadanou jednotku měření. |
Metafile(Stream, IntPtr, RectangleF) |
Inicializuje novou instanci třídy Metafile ze zadaného datového proudu, popisovač Windows do kontextu zařízení a RectangleF strukturu, která představuje obdélník, který ohraničuje nový Metafile. |
Metafile(Stream, IntPtr) |
Inicializuje novou instanci třídy Metafile ze zadaného datového proudu. |
Metafile(Stream) |
Inicializuje novou instanci třídy Metafile ze zadaného datového proudu. |
Metafile(String, IntPtr, EmfType, String) |
Inicializuje novou instanci třídy Metafile se zadaným názvem souboru, popisovačem Windows do kontextu zařízení a EmfType výčtem, který určuje formát Metafile. Můžete také přidat popisný řetězec. |
Metafile(String, IntPtr, EmfType) |
Inicializuje novou instanci třídy Metafile se zadaným názvem souboru, popisovačem Windows do kontextu zařízení a EmfType výčtem, který určuje formát Metafile. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovač Windows kontextu zařízení, Rectangle struktury, která představuje obdélník, který ohraničuje novou Metafile, zadanou jednotku míry a EmfType výčtu určující formát Metafile. Můžete také přidat popisný řetězec. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovač Windows kontextu zařízení, Rectangle struktury, která představuje obdélník, který ohraničuje novou Metafile, zadanou jednotku míry a EmfType výčtu určující formát Metafile. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, String) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovač Windows do kontextu zařízení, Rectangle struktury, která představuje obdélník, který ohraničuje nový Metafilea zadanou jednotku měření. Můžete také přidat popisný řetězec. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovač Windows do kontextu zařízení, Rectangle struktury, která představuje obdélník, který ohraničuje nový Metafilea zadanou jednotku měření. |
Metafile(String, IntPtr, Rectangle) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovač Windows do kontextu zařízení a Rectangle struktury, která představuje obdélník, který ohraničuje nový Metafile. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovač Windows kontextu zařízení, RectangleF struktury, která představuje obdélník, který ohraničuje novou Metafile, zadanou jednotku míry a EmfType výčtu určující formát Metafile. Můžete také přidat popisný řetězec. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovač Windows kontextu zařízení, RectangleF struktury, která představuje obdélník, který ohraničuje novou Metafile, zadanou jednotku míry a EmfType výčtu určující formát Metafile. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, String) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovač Windows do kontextu zařízení, RectangleF struktury, která představuje obdélník, který ohraničuje nový Metafilea zadanou jednotku měření. Můžete také přidat popisný řetězec. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovač Windows do kontextu zařízení, RectangleF struktury, která představuje obdélník, který ohraničuje nový Metafilea zadanou jednotku měření. |
Metafile(String, IntPtr, RectangleF) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru, popisovač Windows do kontextu zařízení a RectangleF struktury, která představuje obdélník, který ohraničuje nový Metafile. |
Metafile(String, IntPtr) |
Inicializuje novou instanci Metafile třídy se zadaným názvem souboru. |
Metafile(String) |
Inicializuje novou instanci třídy Metafile ze zadaného názvu souboru. |
Vlastnosti
Flags |
Získá příznaky atributů pro pixelová data tohoto Image. (Zděděno od Image) |
FrameDimensionsList |
Získá pole identifikátorů GUID, které představují rozměry rámců v tomto Image. (Zděděno od Image) |
Height |
Získá výšku v pixelech tohoto Image. (Zděděno od Image) |
HorizontalResolution |
Získá vodorovné rozlišení v pixelech na paleč tohoto Image. (Zděděno od Image) |
Palette |
Získá nebo nastaví barevnou paletu použitou pro tuto Image. (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 vlastnosti uložené v tomto Image. (Zděděno od Image) |
PropertyItems |
Získá všechny položky vlastnosti (části metadat) uložené v tomto Image. (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 tohoto obrázku v pixelech. (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 paleč tohoto Image. (Zděděno od Image) |
Width |
Získá šířku v pixelech tohoto Image. (Zděděno od Image) |
Metody
Clone() |
Vytvoří přesnou kopii tohoto Image. (Zděděno od Image) |
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
Dispose() |
Uvolní všechny prostředky používané tímto Image. (Zděděno od Image) |
Dispose(Boolean) |
Uvolní nespravované prostředky používané Image a volitelně uvolní spravované prostředky. (Zděděno od Image) |
Equals(Object) |
Určuje, zda je zadaný objekt roven 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ázků. (Zděděno od Image) |
GetFrameCount(FrameDimension) |
Vrátí početsnímkůchchchch (Zděděno od Image) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetHenhmetafile() |
Vrátí úchyt systému Windows do rozšířeného Metafile. |
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í MetafileHeader přidružené k tomuto Metafile. |
GetMetafileHeader(IntPtr, WmfPlaceableFileHeader) |
Vrátí MetafileHeader přidružené k zadanému Metafile. |
GetMetafileHeader(IntPtr) |
Vrátí MetafileHeader přidružené k zadanému Metafile. |
GetMetafileHeader(Stream) |
Vrátí MetafileHeader přidružené k zadanému Metafile. |
GetMetafileHeader(String) |
Vrátí MetafileHeader přidružené k zadanému Metafile. |
GetPropertyItem(Int32) |
Získá zadanou položku vlastnosti z tohoto Image. (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á Type aktuální instance. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního objektu MarshalByRefObject. (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 Image. (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, ImageCodecInfo, EncoderParameters) |
Uloží tento 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ží tento Image do zadaného souboru v zadaném formátu. (Zděděno od Image) |
Save(String) |
Uloží tento Image do zadaného souboru nebo datového proudu. (Zděděno od Image) |
SaveAdd(EncoderParameters) |
Přidá rámeček do souboru nebo datového proudu zadaného v předchozím volání metody Save. Tato metoda slouží 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ámeček do souboru nebo datového proudu zadaného v předchozím volání metody Save. (Zděděno od Image) |
SelectActiveFrame(FrameDimension, Int32) |
Vybere rámeček určený dimenzí a indexem. (Zděděno od Image) |
SetPropertyItem(PropertyItem) |
Ukládá položku vlastnosti (část metadat) v tomto Image. (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 daty potřebnými k serializaci cílového objektu. (Zděděno od Image) |