Metafile in GDI+

GDI+ fornisce la Metafile classe in modo da poter registrare e visualizzare metafile. Un metafile, detto anche immagine vettoriale, è un'immagine archiviata come sequenza di comandi e impostazioni di disegno. I comandi e le impostazioni registrati in un Metafile oggetto possono essere archiviati in memoria o salvati in un file o in un flusso.

Formati metafile

GDI+ può visualizzare metafile archiviati nei formati seguenti:

  • Metafile windows (WMF)

  • Enhanced Metafile (EMF)

  • EMF+

GDI+ può registrare metafile nei formati EMF e EMF+, ma non nel formato WMF.

EMF+ è un'estensione di EMF che consente l'archiviazione dei record GDI+. Esistono due varianti nel formato EMF+: Solo EMF+ e EMF+ Dual. I metafile EMF+ contengono solo record GDI+. Tali metafile possono essere visualizzati da GDI+ ma non da GDI. I metafile EMF+ dual contengono record GDI+ e GDI. Ogni record GDI+ in un metafile doppio EMF+ è associato a un record GDI alternativo. Tali metafile possono essere visualizzati da GDI+ o da GDI.

Nell'esempio seguente viene visualizzato un metafile salvato in precedenza come file. Il metafile viene visualizzato con l'angolo superiore sinistro in (100, 100).

public void Example_DisplayMetafile(PaintEventArgs e)
{
    Graphics myGraphics = e.Graphics;
    Metafile myMetafile = new Metafile("SampleMetafile.emf");
    myGraphics.DrawImage(myMetafile, 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

Vedi anche