Metafile Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Definiuje metaplik graficzny. Metaplik zawiera rekordy opisujące sekwencję operacji graficznych, które mogą być rejestrowane (konstruowane) i odtwarzane (wyświetlane). Ta klasa nie jest dziedziczona.
public ref class Metafile sealed : System::Drawing::Image
public sealed class Metafile : System.Drawing.Image
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public sealed class Metafile : System.Drawing.Image
[System.Serializable]
public sealed class Metafile : System.Drawing.Image
type Metafile = class
inherit Image
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Serializable>]
type Metafile = class
inherit Image
[<System.Serializable>]
type Metafile = class
inherit Image
Public NotInheritable Class Metafile
Inherits Image
- Dziedziczenie
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak utworzyć metodę Metafile i użyć jej 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
Uwagi
Jeśli używasz Save metody do zapisywania obrazu graficznego jako pliku Windows Metafile Format (WMF) lub enhanced Metafile Format (EMF), wynikowy plik jest zapisywany jako plik Portable Network Graphics (PNG). To zachowanie występuje, ponieważ składnik GDI+ .NET Framework nie ma kodera, którego można użyć do zapisywania plików jako plików wmf lub emf.
Uwaga
W programie .NET 6 i nowszych wersjach pakiet System.Drawing.Common,który zawiera ten typ, jest obsługiwany tylko w Windows operacyjnych. Użycie tego typu w aplikacjach międzyplatformowych powoduje ostrzeżenia w czasie kompilacji i wyjątki czasu uruchamiania. Aby uzyskać więcej informacji, zobacz System.Drawing.Common obsługiwane tylko na Windows.
Konstruktory
Metafile(IntPtr, Boolean) |
Inicjuje Metafile nowe wystąpienie klasy z określonego dojścia. |
Metafile(IntPtr, EmfType) |
Inicjuje nowe wystąpienie Metafile klasy z określonego dojścia do kontekstu urządzenia i EmfType wyliczenie określające format .Metafile |
Metafile(IntPtr, EmfType, String) |
Inicjuje nowe wystąpienie Metafile klasy z określonego dojścia do kontekstu urządzenia i EmfType wyliczenie określające format .Metafile Ciąg można podać, aby nazwać plik. |
Metafile(IntPtr, Rectangle) |
Inicjuje Metafile nowe wystąpienie klasy z określonego kontekstu urządzenia, ograniczone przez określony prostokąt. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit) |
Inicjuje nowe wystąpienie Metafile klasy z określonego kontekstu urządzenia, ograniczone przez określony prostokąt, który używa podanej jednostki miary. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicjuje nowe wystąpienie Metafile klasy z określonego kontekstu urządzenia, ograniczone przez określony prostokąt, który używa podanej jednostki miary, oraz EmfType wyliczenie określające format .Metafile |
Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicjuje nowe wystąpienie Metafile klasy z określonego kontekstu urządzenia, ograniczone przez określony prostokąt, który używa podanej jednostki miary, oraz EmfType wyliczenie określające format Metafileelementu . Można podać ciąg w celu nadania nazwy pliku. |
Metafile(IntPtr, RectangleF) |
Inicjuje Metafile nowe wystąpienie klasy z określonego kontekstu urządzenia, ograniczone przez określony prostokąt. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit) |
Inicjuje nowe wystąpienie Metafile klasy z określonego kontekstu urządzenia, ograniczone przez określony prostokąt, który używa podanej jednostki miary. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicjuje nowe wystąpienie Metafile klasy z określonego kontekstu urządzenia, ograniczone przez określony prostokąt, który używa podanej jednostki miary, oraz EmfType wyliczenie określające format .Metafile |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicjuje nowe wystąpienie Metafile klasy z określonego kontekstu urządzenia, ograniczone przez określony prostokąt, który używa podanej jednostki miary, oraz EmfType wyliczenie określające format Metafileelementu . Można podać ciąg w celu nadania nazwy pliku. |
Metafile(IntPtr, WmfPlaceableFileHeader) |
Inicjuje Metafile nowe wystąpienie klasy z określonego dojścia i klasy WmfPlaceableFileHeader. |
Metafile(IntPtr, WmfPlaceableFileHeader, Boolean) |
Inicjuje Metafile nowe wystąpienie klasy z określonego dojścia i klasy WmfPlaceableFileHeader. |
Metafile(Stream) |
Inicjuje Metafile nowe wystąpienie klasy z określonego strumienia danych. |
Metafile(Stream, IntPtr) |
Inicjuje Metafile nowe wystąpienie klasy z określonego strumienia danych. |
Metafile(Stream, IntPtr, EmfType) |
Inicjuje nowe wystąpienie klasy z określonego Metafile strumienia danych, dojście Windows do kontekstu urządzenia i EmfType wyliczenie określające format .Metafile |
Metafile(Stream, IntPtr, EmfType, String) |
Inicjuje nowe wystąpienie klasy z określonego Metafile strumienia danych, dojście Windows do kontekstu urządzenia i EmfType wyliczenie określające format .Metafile Ponadto można dodać ciąg zawierający opisową nazwę nowego Metafile . |
Metafile(Stream, IntPtr, Rectangle) |
Inicjuje nowe wystąpienie klasy z określonego Metafile strumienia danych, dojście Windows do kontekstu urządzenia oraz Rectangle strukturę reprezentującą prostokąt powiązany z nowym Metafileelementem . |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit) |
Inicjuje nowe wystąpienie klasy z określonego Metafile strumienia danych, dojście Windows do kontekstu urządzenia, Rectangle strukturę reprezentującą prostokąt, który graniczy z nową Metafilejednostką miary. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicjuje nowe wystąpienie Metafile klasy z określonego strumienia danych, Windows dojścia do kontekstu urządzenia, Rectangle strukturę reprezentującą prostokąt, który wiąże nową Metafilejednostkę miary i EmfType wyliczenie określające format Metafile. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicjuje nowe wystąpienie Metafile klasy z określonego strumienia danych, Windows dojścia do kontekstu urządzenia, Rectangle strukturę reprezentującą prostokąt, który wiąże nową Metafilejednostkę miary i EmfType wyliczenie określające format Metafile. Można dodać ciąg zawierający opisową nazwę nowego Metafile . |
Metafile(Stream, IntPtr, RectangleF) |
Inicjuje nowe wystąpienie klasy z określonego Metafile strumienia danych, dojście Windows do kontekstu urządzenia oraz RectangleF strukturę reprezentującą prostokąt powiązany z nowym Metafileelementem . |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit) |
Inicjuje nowe wystąpienie Metafile klasy z określonego strumienia danych, uchwyt Windows do kontekstu urządzenia, RectangleF strukturę reprezentującą prostokąt, który graniczy z nową Metafilejednostką miary. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicjuje nowe wystąpienie Metafile klasy z określonego strumienia danych, Windows dojścia do kontekstu urządzenia, RectangleF strukturę reprezentującą prostokąt, który wiąże nową Metafilejednostkę miary i EmfType wyliczenie określające format Metafile. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicjuje nowe wystąpienie Metafile klasy z określonego strumienia danych, Windows dojścia do kontekstu urządzenia, RectangleF strukturę reprezentującą prostokąt, który wiąże nową Metafilejednostkę miary i EmfType wyliczenie określające format Metafile. Można dodać ciąg zawierający opisową nazwę nowego Metafile . |
Metafile(String) |
Inicjuje Metafile nowe wystąpienie klasy z określonej nazwy pliku. |
Metafile(String, IntPtr) |
Inicjuje Metafile nowe wystąpienie klasy o określonej nazwie pliku. |
Metafile(String, IntPtr, EmfType) |
Inicjuje nowe wystąpienie Metafile klasy o określonej nazwie pliku, Windows dojściu do kontekstu urządzenia i EmfType wyliczenie określające format .Metafile |
Metafile(String, IntPtr, EmfType, String) |
Inicjuje nowe wystąpienie Metafile klasy o określonej nazwie pliku, Windows dojściu do kontekstu urządzenia i EmfType wyliczenie określające format Metafileelementu . Można również dodać opisowy ciąg. |
Metafile(String, IntPtr, Rectangle) |
Inicjuje nowe wystąpienie Metafile klasy z określoną nazwą pliku, Windows dojściem do kontekstu urządzenia i strukturą Rectangle reprezentującą prostokąt, który jest powiązany z nowym Metafileelementem . |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit) |
Inicjuje nowe wystąpienie Metafile klasy o określonej nazwie pliku, Windows dojściu do kontekstu urządzenia, Rectangle strukturę reprezentującą prostokąt, który graniczy z nową Metafilejednostką miary. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Inicjuje nowe wystąpienie Metafile klasy o określonej nazwie pliku, Windows dojściu do kontekstu urządzenia, Rectangle strukturę reprezentującą prostokąt powiązany z nową Metafilejednostką miary oraz EmfType wyliczenie określające format Metafileklasy . |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Inicjuje nowe wystąpienie Metafile klasy o określonej nazwie pliku, Windows dojściu do kontekstu urządzenia, Rectangle strukturę reprezentującą prostokąt powiązany z nową Metafilejednostką miary oraz EmfType wyliczenie określające format Metafileklasy . Można również dodać ciąg opisowy. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, String) |
Inicjuje nowe wystąpienie Metafile klasy o określonej nazwie pliku, Windows dojściu do kontekstu urządzenia, Rectangle strukturę reprezentującą prostokąt, który graniczy z nową Metafilejednostką miary. Można również dodać ciąg opisowy. |
Metafile(String, IntPtr, RectangleF) |
Inicjuje nowe wystąpienie Metafile klasy z określoną nazwą pliku, Windows dojściem do kontekstu urządzenia i strukturą RectangleF reprezentującą prostokąt, który jest powiązany z nowym Metafileelementem . |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit) |
Inicjuje nowe wystąpienie Metafile klasy o określonej nazwie pliku, Windows dojściu do kontekstu urządzenia, RectangleF strukturę reprezentującą prostokąt, który graniczy z nową Metafilejednostką miary. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Inicjuje nowe wystąpienie Metafile klasy o określonej nazwie pliku, Windows dojściu do kontekstu urządzenia, RectangleF strukturę reprezentującą prostokąt powiązany z nową Metafilejednostką miary oraz EmfType wyliczenie określające format Metafileklasy . |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Inicjuje nowe wystąpienie Metafile klasy o określonej nazwie pliku, uchwyt Windows do kontekstu urządzenia, RectangleF strukturę reprezentującą prostokąt powiązany z nową Metafilejednostką miary oraz EmfType wyliczenie określające format Metafile. Można również dodać opisowy ciąg. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, String) |
Inicjuje nowe wystąpienie Metafile klasy o określonej nazwie pliku, Windows dojściu do kontekstu urządzenia, RectangleF strukturę reprezentującą prostokąt, który graniczy z nową Metafilejednostką miary. Można również dodać ciąg opisowy. |
Właściwości
Flags |
Pobiera flagi atrybutów dla danych pikseli tego Imageelementu . (Odziedziczone po Image) |
FrameDimensionsList |
Pobiera tablicę identyfikatorów GUID reprezentujących wymiary ramek w tym Imageobiekcie . (Odziedziczone po Image) |
Height |
Pobiera wysokość w pikselach tego Imageelementu . (Odziedziczone po Image) |
HorizontalResolution |
Pobiera rozdzielczość poziomą w pikselach na cal tego Imageelementu . (Odziedziczone po Image) |
Palette |
Pobiera lub ustawia paletę kolorów używaną dla tego Imageelementu . (Odziedziczone po Image) |
PhysicalDimension |
Pobiera szerokość i wysokość tego obrazu. (Odziedziczone po Image) |
PixelFormat |
Pobiera format pikseli dla tego Imagepliku . (Odziedziczone po Image) |
PropertyIdList |
Pobiera identyfikatory elementów właściwości przechowywanych w tym Imageobiekcie . (Odziedziczone po Image) |
PropertyItems |
Pobiera wszystkie elementy właściwości (elementy metadanych) przechowywane w tym Imagepliku . (Odziedziczone po Image) |
RawFormat |
Pobiera format pliku tego Imagepliku . (Odziedziczone po Image) |
Size |
Pobiera szerokość i wysokość obrazu w pikselach. (Odziedziczone po Image) |
Tag |
Pobiera lub ustawia obiekt, który dostarcza dodatkowe dane dotyczące obrazu. (Odziedziczone po Image) |
VerticalResolution |
Pobiera rozdzielczość pionową w pikselach na cal tego Imageelementu . (Odziedziczone po Image) |
Width |
Pobiera szerokość w pikselach tego elementu Image. (Odziedziczone po Image) |
Metody
Clone() |
Tworzy dokładną kopię tego elementu Image. (Odziedziczone po Image) |
CreateObjRef(Type) |
Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym. (Odziedziczone po MarshalByRefObject) |
Dispose() |
Zwalnia wszystkie zasoby używane przez ten Imageprogram . (Odziedziczone po Image) |
Dispose(Boolean) |
Zwalnia zasoby niezarządzane używane przez element Image i opcjonalnie zwalnia zasoby zarządzane. (Odziedziczone po Image) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetBounds(GraphicsUnit) |
Pobiera granice obrazu w określonej lekcji. (Odziedziczone po Image) |
GetEncoderParameterList(Guid) |
Zwraca informacje o parametrach obsługiwanych przez określony koder obrazu. (Odziedziczone po Image) |
GetFrameCount(FrameDimension) |
Zwraca liczbę ramek określonego wymiaru. (Odziedziczone po Image) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetHenhmetafile() |
Zwraca dojście Windows do rozszerzonego Metafileelementu . |
GetLifetimeService() |
Nieaktualne.
Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
GetMetafileHeader() |
Zwraca element MetafileHeader skojarzony z tym Metafileelementem . |
GetMetafileHeader(IntPtr) |
Zwraca wartość MetafileHeader skojarzona z określonym Metafileelementem . |
GetMetafileHeader(IntPtr, WmfPlaceableFileHeader) |
Zwraca wartość MetafileHeader skojarzona z określonym Metafileelementem . |
GetMetafileHeader(Stream) |
Zwraca wartość MetafileHeader skojarzona z określonym Metafileelementem . |
GetMetafileHeader(String) |
Zwraca wartość MetafileHeader skojarzona z określonym Metafileelementem . |
GetPropertyItem(Int32) |
Pobiera określony element właściwości z tego Imageelementu . (Odziedziczone po Image) |
GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr) |
Zwraca miniaturę dla tego .Image (Odziedziczone po Image) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
InitializeLifetimeService() |
Nieaktualne.
Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
MemberwiseClone(Boolean) |
Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu. (Odziedziczone po MarshalByRefObject) |
PlayRecord(EmfPlusRecordType, Int32, Int32, Byte[]) |
Odtwarza pojedynczy rekord metapliku. |
RemovePropertyItem(Int32) |
Usuwa określony element właściwości z tego Imageelementu . (Odziedziczone po Image) |
RotateFlip(RotateFlipType) |
Obraca, przerzuca lub obraca i odwraca obiekt Image. (Odziedziczone po Image) |
Save(Stream, ImageCodecInfo, EncoderParameters) |
Zapisuje ten obraz w określonym strumieniu z określonymi parametrami kodera i kodera obrazu. (Odziedziczone po Image) |
Save(Stream, ImageFormat) |
Zapisuje ten obraz w określonym strumieniu w określonym formacie. (Odziedziczone po Image) |
Save(String) |
Zapisuje to Image w określonym pliku lub strumieniu. (Odziedziczone po Image) |
Save(String, ImageCodecInfo, EncoderParameters) |
Zapisuje to Image w określonym pliku z określonymi parametrami kodera i kodera obrazu. (Odziedziczone po Image) |
Save(String, ImageFormat) |
Zapisuje to Image w określonym pliku w określonym formacie. (Odziedziczone po Image) |
SaveAdd(EncoderParameters) |
Dodaje ramkę do pliku lub strumienia określonego w poprzednim wywołaniu Save metody . Użyj tej metody, aby zapisać wybrane ramki z obrazu z wieloma ramkami do innego obrazu z wieloma ramkami. (Odziedziczone po Image) |
SaveAdd(Image, EncoderParameters) |
Dodaje ramkę do pliku lub strumienia określonego w poprzednim wywołaniu Save metody . (Odziedziczone po Image) |
SelectActiveFrame(FrameDimension, Int32) |
Wybiera ramkę określoną przez wymiar i indeks. (Odziedziczone po Image) |
SetPropertyItem(PropertyItem) |
Przechowuje element właściwości (część metadanych) w tym obiekcie Image. (Odziedziczone po Image) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Wypełnia element SerializationInfo danymi potrzebnymi do serializacji obiektu docelowego. (Odziedziczone po Image) |