更新 : 2007 年 11 月
GDI+ には、メタファイルの記録および表示のために Metafile クラスが用意されています。メタファイルは、一連の描画コマンドおよび描画設定として格納されるイメージで、ベクタ イメージと呼ばれることもあります。Metafile オブジェクトに記録されるコマンドと設定は、メモリに格納したり、ファイルやストリームに保存したりできます。
メタファイルの形式
GDI+ は、次の形式で格納されたメタファイルを表示できます。
WMF (Windows メタファイル)
EMF (拡張メタファイル)
EMF+
GDI+ は、EMF 形式と EMF+ 形式でメタファイルを記録できますが、WMF 形式では記録できません。
EMF+ は EMF の拡張機能であり、GDI+ レコードを格納できます。EMF+ 形式には、EMF+ Only と EMF+ Dual の 2 種類があります。EMF+ Only メタファイルは、GDI+ レコードだけを格納します。このメタファイルは GDI+ では表示できますが、GDI では表示できません。EMF+ Dual メタファイルは、GDI+ レコードと GDI レコードを格納します。EMF+ Dual メタファイル内の各 GDI+ レコードは、代替の GDI レコードとペアになります。このメタファイルは GDI+ または GDI で表示できます。
以前にファイルとして保存されたメタファイルを表示する例を次に示します。このメタファイルは、左上隅の座標を (100, 100) として表示されます。
Public Sub Example_DisplayMetafile(ByVal e As PaintEventArgs)
Dim myGraphics As Graphics = e.Graphics
Dim myMetafile As New Metafile("SampleMetafile.emf")
myGraphics.DrawImage(myMetafile, 100, 100)
End Sub
public void Example_DisplayMetafile(PaintEventArgs e)
{
Graphics myGraphics = e.Graphics;
Metafile myMetafile = new Metafile("SampleMetafile.emf");
myGraphics.DrawImage(myMetafile, 100, 100);
}