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

Три категории графических служб

Графические элементы Windows Forms можно разделить на три основные категории:

  • Двухмерная (2-D) векторная графика

  • Рисунки

  • Типографская разметка

Двухмерная векторная графика

Двухмерная векторная графика включает в себя примитивы (прямые и кривые линии, геометрические фигуры), заданные набором точек в системе координат. Например, прямую линию (отрезок), можно задать двумя крайними точками, а прямоугольник можно задать положением его верхнего левого угла и парой чисел, определяющих высоту и ширину прямоугольника. Простейший контур можно задать массивом точек, которые должны быть соединены отрезками прямых. Сложная кривая сплайна Безье может быть задана четырьмя контрольными точками.

В GDI+ имеются классы и структуры, хранящие данные о самих примитивах, классы, хранящие данные о способе рисования примитивов, и классы, непосредственно рисующие примитивы. Например, в структуре Rectangle хранятся расположение и размер прямоугольника, в классе Pen хранятся данные о цвете, толщине и стиле линии, а класс Graphics содержит методы для рисования линий, прямоугольников, траекторий и других фигур. Существуют также несколько классов Brush, в которых хранятся данные о способах заливки замкнутых фигур и контуров цветом или рисунком.

Векторный рисунок (последовательность графических команд) можно записать в метафайл. Для записи, отображения и сохранения метафайлов в GDI+ имеется класс Metafile. Для проверки данных в заголовке метафайла служат классы MetafileHeader и MetaHeader.

Рисунки

Некоторые рисунки сложно или невозможно отображать с использованием векторной графики. Например, рисунки на кнопках панели инструментов или рисунки, отображаемые как значки, довольно сложно задать как последовательность прямых и кривых линий. Сохранить с помощью векторной графики высококачественную фотографию переполненного стадиона будет еще сложнее. Рисунки такого типа хранятся в виде точечных рисунков — массивов чисел, каждое из которых определяет цвет определенной точки на рисунке. Для отображения и сохранения растровых рисунков, а также для работы с ними, в GDI+ имеется класс Bitmap.

Типографская разметка

Типографская разметка связана с отображением текста на экране путем использования различных шрифтов, размеров и стилей. В GDI+ имеются широкие возможности для решения этой сложной задачи. Одним из новых средств GDI+ является субточечное сглаживание, позволяющее отображать на жидкокристаллических дисплеях текст с более гладкими краями, чем обычно.

Кроме того, в Windows Forms поддерживается вывод текста с возможностями GDI в классе TextRenderer.

Structure of the Graphics Interface

The managed class interface to GDI+ contains about 60 classes, 50 enumerations, and 8 structures. The Graphics class is at the core of GDI+ functionality; it is the class that actually draws lines, curves, figures, images, and text.

Important Classes

Many classes work together with the Graphics class. For example, the DrawLine method receives a Pen object, which holds attributes (color, width, dash style, and the like) of the line to be drawn. The FillRectangle method can receive a pointer to a LinearGradientBrush object, which works with the Graphics object to fill a rectangle with a gradually changing color. Font and StringFormat objects influence the way a Graphics object draws text. A Matrix object stores and manipulates the world transformation of a Graphics object, which is used to rotate, scale, and flip images.

GDI+ provides several structures (for example, Rectangle, Point, and Size) for organizing graphics data. Also, certain classes serve primarily as structured data types. For example, the BitmapData class is a helper for the Bitmap class, and the PathData class is a helper for the GraphicsPath class.

GDI+ defines several enumerations, which are collections of related constants. For example, the LineJoin enumeration contains the elements Bevel, Miter, and Round, which specify styles that can be used to join two lines.

About GDI+ Managed Code

GDI+ is the portion of the Windows XP operating system that provides two-dimensional vector graphics, imaging, and typography. GDI+ improves on GDI (the Graphics Device Interface included with earlier versions of Windows) by adding new features and by optimizing existing features.

The GDI+ managed class interface (a set of wrappers) is part of the .NET Framework, an environment for building, deploying, and running XML Web services and other applications.