Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp_Graphics.doc
Скачиваний:
16
Добавлен:
16.11.2019
Размер:
3.1 Mб
Скачать

Форматы метафайлов

Интерфейс 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).

---------------

Drawing, Positioning, and Cloning Images in GDI+

You can use the Bitmap class to load and display raster images, and you can use the Metafile class to load and display vector images. The Bitmap and Metafile classes inherit from the Image class. To display a vector image, you need an instance of the Graphics class and a Metafile. To display a raster image, you need an instance of the Graphics class and a Bitmap. The instance of the Graphics class provides the DrawImage method, which receives the Metafile or Bitmap as an argument.

File Types and Cloning

The following code example shows how to construct a Bitmap from the file Climber.jpg and displays the bitmap. The destination point for the upper-left corner of the image, (10, 10), is specified in the second and third parameters.

Bitmap myBitmap = new Bitmap("Climber.jpg");

myGraphics.DrawImage(myBitmap, 10, 10);

The following illustration shows the image.

You can construct Bitmap objects from a variety of graphics file formats: BMP, GIF, JPEG, EXIF, PNG, TIFF, and ICON.

The following code example shows how to construct Bitmap objects from a variety of file types and then displays the bitmaps.

Bitmap myBMP = new Bitmap("SpaceCadet.bmp");

Bitmap myGIF = new Bitmap("Soda.gif");

Bitmap myJPEG = new Bitmap("Mango.jpg");

Bitmap myPNG = new Bitmap("Flowers.png");

Bitmap myTIFF = new Bitmap("MS.tif");

myGraphics.DrawImage(myBMP, 10, 10);

myGraphics.DrawImage(myGIF, 220, 10);

myGraphics.DrawImage(myJPEG, 280, 10);

myGraphics.DrawImage(myPNG, 150, 200);

myGraphics.DrawImage(myTIFF, 300, 200);

Отрисовка, позиционирование и клонирование изображений в GDI+

Класс Bitmap позволяет загружать и отображать растровые изображения, а класс Metafile служит для загрузки и отображения векторных изображений. Классы Bitmap и Metafile наследуются от класса Image. Для вывода векторного изображения необходим экземпляр класса Graphics и объект Metafile. Для вывода растрового изображения необходим экземпляр класса Graphics и объект Bitmap. У экземпляра класса Graphics имеется метод DrawImage, который в качестве аргумента принимает объект Metafile или Bitmap.