Metafile Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendefinisikan metafile grafis. Metafile berisi rekaman yang menjelaskan urutan operasi grafis yang dapat direkam (dibangun) dan diputar kembali (ditampilkan). Kelas ini tidak dapat diwariskan.
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
- Warisan
- Atribut
Contoh
Contoh kode berikut menunjukkan cara membuat Metafile dan menggunakan PlayRecord metode .
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
Keterangan
Ketika Anda menggunakan Save metode untuk menyimpan gambar grafis sebagai file Windows Metafile Format (WMF) atau Enhanced Metafile Format (EMF), file yang dihasilkan disimpan sebagai file Portable Network Graphics (PNG). Perilaku ini terjadi karena komponen GDI+ dari .NET Framework tidak memiliki encoder yang dapat Anda gunakan untuk menyimpan file sebagai file .wmf atau .emf.
Catatan
Dalam .NET 6 dan versi yang lebih baru, paket System.Drawing.Common, yang mencakup jenis ini, hanya didukung pada sistem operasi Windows. Penggunaan jenis ini dalam aplikasi lintas platform menyebabkan peringatan waktu kompilasi dan pengecualian run-time. Untuk informasi selengkapnya, lihat System.Drawing.Common hanya didukung di Windows.
Konstruktor
Metafile(IntPtr, Boolean) |
Menginisialisasi instans Metafile baru kelas dari handel yang ditentukan. |
Metafile(IntPtr, EmfType) |
Menginisialisasi instans Metafile baru kelas dari handel yang ditentukan ke konteks perangkat dan EmfType enumerasi yang menentukan format Metafile. |
Metafile(IntPtr, EmfType, String) |
Menginisialisasi instans Metafile baru kelas dari handel yang ditentukan ke konteks perangkat dan EmfType enumerasi yang menentukan format Metafile. String dapat diberikan untuk memberi nama file. |
Metafile(IntPtr, Rectangle) |
Menginisialisasi instans Metafile baru kelas dari konteks perangkat yang ditentukan, dibatasi oleh persegi panjang yang ditentukan. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit) |
Menginisialisasi instans Metafile baru kelas dari konteks perangkat yang ditentukan, dibatasi oleh persegi panjang yang ditentukan yang menggunakan unit pengukuran yang disediakan. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Menginisialisasi instans Metafile baru kelas dari konteks perangkat yang ditentukan, dibatasi oleh persegi panjang yang ditentukan yang menggunakan unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. |
Metafile(IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Menginisialisasi instans Metafile baru kelas dari konteks perangkat yang ditentukan, dibatasi oleh persegi panjang yang ditentukan yang menggunakan unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. String dapat disediakan untuk memberi nama file. |
Metafile(IntPtr, RectangleF) |
Menginisialisasi instans Metafile baru kelas dari konteks perangkat yang ditentukan, dibatasi oleh persegi panjang yang ditentukan. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit) |
Menginisialisasi instans Metafile baru kelas dari konteks perangkat yang ditentukan, dibatasi oleh persegi panjang yang ditentukan yang menggunakan unit pengukuran yang disediakan. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Menginisialisasi instans Metafile baru kelas dari konteks perangkat yang ditentukan, dibatasi oleh persegi panjang yang ditentukan yang menggunakan unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. |
Metafile(IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Menginisialisasi instans Metafile baru kelas dari konteks perangkat yang ditentukan, dibatasi oleh persegi panjang yang ditentukan yang menggunakan unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. String dapat disediakan untuk memberi nama file. |
Metafile(IntPtr, WmfPlaceableFileHeader) |
Menginisialisasi instans Metafile baru kelas dari handel yang ditentukan dan WmfPlaceableFileHeader. |
Metafile(IntPtr, WmfPlaceableFileHeader, Boolean) |
Menginisialisasi instans Metafile baru kelas dari handel yang ditentukan dan WmfPlaceableFileHeader. Selain itu |
Metafile(Stream) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan. |
Metafile(Stream, IntPtr) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan. |
Metafile(Stream, IntPtr, EmfType) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan, handel Windows ke konteks perangkat, dan EmfType enumerasi yang menentukan format Metafile. |
Metafile(Stream, IntPtr, EmfType, String) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan, handel Windows ke konteks perangkat, dan EmfType enumerasi yang menentukan format Metafile. Selain itu, string yang berisi nama deskriptif untuk yang baru Metafile dapat ditambahkan. |
Metafile(Stream, IntPtr, Rectangle) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan, handel Windows ke konteks perangkat, dan Rectangle struktur yang mewakili persegi panjang yang mengikat yang baru Metafile. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan, handel Windows ke konteks perangkat, Rectangle struktur yang mewakili persegi panjang yang mengikat baru Metafile, dan unit pengukuran yang disediakan. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan, handel Windows ke konteks perangkat, Rectangle struktur yang mewakili persegi panjang yang mengikat baru Metafile, unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. |
Metafile(Stream, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan, handel Windows ke konteks perangkat, Rectangle struktur yang mewakili persegi panjang yang mengikat baru Metafile, unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. String yang berisi nama deskriptif untuk yang baru Metafile dapat ditambahkan. |
Metafile(Stream, IntPtr, RectangleF) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan, handel Windows ke konteks perangkat, dan RectangleF struktur yang mewakili persegi panjang yang mengikat yang baru Metafile. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan, handel Windows ke konteks perangkat, RectangleF struktur yang mewakili persegi panjang yang mengikat baru Metafile, dan unit pengukuran yang disediakan. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan, handel Windows ke konteks perangkat, RectangleF struktur yang mewakili persegi panjang yang mengikat baru Metafile, unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. |
Metafile(Stream, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Menginisialisasi instans Metafile baru kelas dari aliran data yang ditentukan, handel Windows ke konteks perangkat, RectangleF struktur yang mewakili persegi panjang yang mengikat baru Metafile, unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. String yang berisi nama deskriptif untuk yang baru Metafile dapat ditambahkan. |
Metafile(String) |
Menginisialisasi instans Metafile baru kelas dari nama file yang ditentukan. |
Metafile(String, IntPtr) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan. |
Metafile(String, IntPtr, EmfType) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, dan EmfType enumerasi yang menentukan format Metafile. |
Metafile(String, IntPtr, EmfType, String) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, dan EmfType enumerasi yang menentukan format Metafile. String deskriptif juga dapat ditambahkan. |
Metafile(String, IntPtr, Rectangle) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, dan Rectangle struktur yang mewakili persegi panjang yang mengikat yang baru Metafile. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, Rectangle struktur yang mewakili persegi panjang yang mengikat baru Metafile, dan unit pengukuran yang disediakan. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, Rectangle struktur yang mewakili persegi panjang yang mengikat baru Metafile, unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, EmfType, String) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, Rectangle struktur yang mewakili persegi panjang yang mengikat baru Metafile, unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. String deskriptif juga dapat ditambahkan. |
Metafile(String, IntPtr, Rectangle, MetafileFrameUnit, String) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, Rectangle struktur yang mewakili persegi panjang yang mengikat baru Metafile, dan unit pengukuran yang disediakan. String deskriptif juga dapat ditambahkan. |
Metafile(String, IntPtr, RectangleF) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, dan RectangleF struktur yang mewakili persegi panjang yang mengikat yang baru Metafile. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, RectangleF struktur yang mewakili persegi panjang yang mengikat baru Metafile, dan unit pengukuran yang disediakan. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, RectangleF struktur yang mewakili persegi panjang yang mengikat baru Metafile, unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, EmfType, String) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, RectangleF struktur yang mewakili persegi panjang yang mengikat baru Metafile, unit pengukuran yang disediakan, dan EmfType enumerasi yang menentukan format Metafile. String deskriptif juga dapat ditambahkan. |
Metafile(String, IntPtr, RectangleF, MetafileFrameUnit, String) |
Menginisialisasi instans Metafile baru kelas dengan nama file yang ditentukan, handel Windows ke konteks perangkat, RectangleF struktur yang mewakili persegi panjang yang mengikat baru Metafile, dan unit pengukuran yang disediakan. String deskriptif juga dapat ditambahkan. |
Properti
Flags |
Mendapatkan bendera atribut untuk data piksel ini Image. (Diperoleh dari Image) |
FrameDimensionsList |
Mendapatkan array GUID yang mewakili dimensi bingkai dalam ini Image. (Diperoleh dari Image) |
Height |
Mendapatkan tinggi, dalam piksel, dari ini Image. (Diperoleh dari Image) |
HorizontalResolution |
Mendapatkan resolusi horizontal, dalam piksel per inci, dari ini Image. (Diperoleh dari Image) |
Palette |
Mendapatkan atau mengatur palet warna yang digunakan untuk ini Image. (Diperoleh dari Image) |
PhysicalDimension |
Mendapatkan lebar dan tinggi gambar ini. (Diperoleh dari Image) |
PixelFormat |
Mendapatkan format piksel untuk ini Image. (Diperoleh dari Image) |
PropertyIdList |
Mendapatkan ID item properti yang disimpan dalam ini Image. (Diperoleh dari Image) |
PropertyItems |
Mendapatkan semua item properti (potongan metadata) yang disimpan dalam ini Image. (Diperoleh dari Image) |
RawFormat |
Mendapatkan format file dari ini Image. (Diperoleh dari Image) |
Size |
Mendapatkan lebar dan tinggi, dalam piksel, dari gambar ini. (Diperoleh dari Image) |
Tag |
Mendapatkan atau mengatur objek yang menyediakan data tambahan tentang gambar. (Diperoleh dari Image) |
VerticalResolution |
Mendapatkan resolusi vertikal, dalam piksel per inci, dari ini Image. (Diperoleh dari Image) |
Width |
Mendapatkan lebar, dalam piksel, dari ini Image. (Diperoleh dari Image) |
Metode
Clone() |
Membuat salinan yang tepat dari ini Image. (Diperoleh dari Image) |
CreateObjRef(Type) |
Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh. (Diperoleh dari MarshalByRefObject) |
Dispose() |
Merilis semua sumber daya yang digunakan oleh ini Image. (Diperoleh dari Image) |
Dispose(Boolean) |
Merilis sumber daya tidak terkelola yang digunakan oleh Image dan secara opsional merilis sumber daya terkelola. (Diperoleh dari Image) |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetBounds(GraphicsUnit) |
Mendapatkan batas gambar di unit yang ditentukan. (Diperoleh dari Image) |
GetEncoderParameterList(Guid) |
Mengembalikan informasi tentang parameter yang didukung oleh encoder gambar yang ditentukan. (Diperoleh dari Image) |
GetFrameCount(FrameDimension) |
Mengembalikan jumlah bingkai dimensi yang ditentukan. (Diperoleh dari Image) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetHenhmetafile() |
Mengembalikan handel Windows ke handel yang ditingkatkan Metafile. |
GetLifetimeService() |
Kedaluwarsa.
Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
GetMetafileHeader() |
Mengembalikan yang MetafileHeader terkait dengan ini Metafile. |
GetMetafileHeader(IntPtr) |
Mengembalikan yang MetafileHeader terkait dengan yang ditentukan Metafile. |
GetMetafileHeader(IntPtr, WmfPlaceableFileHeader) |
Mengembalikan yang MetafileHeader terkait dengan yang ditentukan Metafile. |
GetMetafileHeader(Stream) |
Mengembalikan yang MetafileHeader terkait dengan yang ditentukan Metafile. |
GetMetafileHeader(String) |
Mengembalikan yang MetafileHeader terkait dengan yang ditentukan Metafile. |
GetPropertyItem(Int32) |
Mendapatkan item properti yang ditentukan dari ini Image. (Diperoleh dari Image) |
GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr) |
Mengembalikan gambar mini untuk ini Image. (Diperoleh dari Image) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
InitializeLifetimeService() |
Kedaluwarsa.
Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
MemberwiseClone(Boolean) |
Membuat salinan dangkal objek saat ini MarshalByRefObject . (Diperoleh dari MarshalByRefObject) |
PlayRecord(EmfPlusRecordType, Int32, Int32, Byte[]) |
Memainkan rekaman metafile individual. |
RemovePropertyItem(Int32) |
Menghapus item properti yang ditentukan dari ini Image. (Diperoleh dari Image) |
RotateFlip(RotateFlipType) |
Memutar, membalik, atau memutar dan membalik Image. (Diperoleh dari Image) |
Save(Stream, ImageCodecInfo, EncoderParameters) |
Menyimpan gambar ini ke aliran yang ditentukan, dengan parameter encoder dan encoder gambar yang ditentukan. (Diperoleh dari Image) |
Save(Stream, ImageFormat) |
Menyimpan gambar ini ke aliran yang ditentukan dalam format yang ditentukan. (Diperoleh dari Image) |
Save(String) |
Menyimpan ini Image ke file atau aliran yang ditentukan. (Diperoleh dari Image) |
Save(String, ImageCodecInfo, EncoderParameters) |
Menyimpan ini Image ke file yang ditentukan, dengan parameter encoder dan image-encoder yang ditentukan. (Diperoleh dari Image) |
Save(String, ImageFormat) |
Simpan ini Image ke file yang ditentukan dalam format yang ditentukan. (Diperoleh dari Image) |
SaveAdd(EncoderParameters) |
Menambahkan bingkai ke file atau aliran yang ditentukan dalam panggilan sebelumnya ke Save metode . Gunakan metode ini untuk menyimpan bingkai yang dipilih dari gambar multi-bingkai ke gambar multi-bingkai lainnya. (Diperoleh dari Image) |
SaveAdd(Image, EncoderParameters) |
Menambahkan bingkai ke file atau aliran yang ditentukan dalam panggilan sebelumnya ke Save metode . (Diperoleh dari Image) |
SelectActiveFrame(FrameDimension, Int32) |
Memilih bingkai yang ditentukan oleh dimensi dan indeks. (Diperoleh dari Image) |
SetPropertyItem(PropertyItem) |
Menyimpan item properti (bagian metadata) di ini Image. (Diperoleh dari Image) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Mengisi dengan data yang SerializationInfo diperlukan untuk membuat serialisasi objek target. (Diperoleh dari Image) |