Метафайлы в GDI+
В GDI+ имеется класс Metafile, позволяющий записывать и отображать метафайлы. Метафайл, также называемый векторным рисунком, — это изображение, сохраненное в виде последовательности команд и параметров рисования. Команды и параметры, сохраненные в объекте Metafile, могут быть сохранены в памяти или записаны в файл или в поток.
Форматы метафайлов
Интерфейс GDI+ позволяет отображать метафайлы, сохраненные в одном из перечисленных ниже форматов.
WMF (Windows Metafile — метафайл Windows)
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 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);
}
См. также
Другие ресурсы
Работа с растровыми и векторными изображениями с использованием классов Image, Bitmap и Metafile