Метафайлы в GDI+
GDI+ предоставляет класс Metafile, позволяющий записывать и отображать метафайлы. Метафайл, также называемый векторным изображением, представляет собой изображение, которое хранится в виде последовательности команд рисования и параметров. Команды и параметры, записанные в объект Metafile, могут храниться в памяти или сохраняться в файл или поток.
Форматы метафайлов
GDI+ может отображать метафайлы, хранящиеся в следующих форматах:
Метафайл Windows (WMF)
EMF (Enhanced Metafile —расширенный метафайл)
EMF+
GDI+ может записывать метафайлы в форматах EMF и EMF+, но не в формате WMF.
EMF+ — это расширение для EMF, позволяющее хранить записи GDI+. Существует два варианта формата EMF+: EMF+ Only и EMF+ Dual. Метафайлы EMF+ Only содержат только записи GDI+. Такие метафайлы можно отобразить в GDI+, но не в GDI. Метафайлы EMF+ Dual содержат записи GDI+ и GDI. Каждая запись GDI+ в метафайле EMF+ Dual связана с альтернативной записью GDI. Такие метафайлы можно отобразить в GDI+ или GDI.
В следующем примере отображается метафайл, который ранее был сохранен в виде файла. Метафайл отображается в левом верхнем углу в точке (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
См. также
.NET Desktop feedback