Compartir a través de


Metarchivos

GDI+ proporciona la clase Metafile para que puedan registrarse y mostrarse metarchivos. Un metarchivo, también denominado imagen vectorial, es una imagen que se almacena como una secuencia de comandos y valores de dibujo. Los comandos y valores registrados en un objeto Metafile pueden almacenarse en memoria o pueden guardarse en un archivo o secuencia.

GDI+ puede mostrar metarchivos que se hayan almacenado en los siguientes formatos:

  • WMF (Metarchivo de Windows)
  • EMF (Metarchivo mejorado)
  • EMF+

GDI+ puede registrar metarchivos en formato EMF y EMF+, pero no en formato WMF.

EMF+ es una extensión de EMF que permite que los registros de GDI+ se almacenen. Hay dos variaciones del formato EMF+: EMF+ Only y EMF+ Dual. Los metarchivos EMF+ Only sólo contienen registros GDI+. GDI+ puede mostrar los metarchivos de este tipo, pero GDI no puede hacerlo. Los metarchivos EMF+ Dual contienen registros GDI+ y GDI. Cada registro GDI+ de un metarchivo EMF+ Dual está emparejado con un registro GDI alternativo. GDI+ o GDI pueden mostrar este tipo de metarchivos.

En el siguiente ejemplo se muestra un metarchivo que se guardó previamente como un archivo. El metarchivo se muestra con la esquina superior izquierda en (100, 100).

Public Sub Example_DisplayMetafile(e As PaintEventArgs)
   Dim myGraphics As Graphics = e.Graphics
   Dim myMetafile As New Metafile("SampleMetafile.emf")
   myGraphics.DrawImage(myMetafile, 100, 100)
End Sub 
[C#]
public void Example_DisplayMetafile(PaintEventArgs e)
{
   Graphics myGraphics = e.Graphics;
   Metafile myMetafile = new Metafile("SampleMetafile.emf");
   myGraphics.DrawImage(myMetafile, 100, 100);
}