Поделиться через


Общие сведения о векторной графике

Рисование линий, прямоугольников и других фигур с использованием интерфейса GDI+ происходит в некоторой системе координат. На выбор доступны различные системы координат, но система координат по умолчанию имеет точку отсчета в левом верхнем углу: ось X направлена вправо, а ось Y — вниз. Единицей измерения в системе координат по умолчанию является пиксель.

Стандартные блоки GDI+

Screenshot of the GDI Plus default coordinate system.

Изображение на мониторе компьютера формируется как прямоугольный массив точек, называемых элементами изображения или пикселями. Количество пикселей, отображаемых на экране, зависит от типа монитора. Количество пикселей, отображаемых на экране конкретного монитора, обычно может изменяться пользователем в определенных пределах.

Screenshot of a rectangular array showing three pixels at coordinates 0,0, 4,2, and 12,8.

При использовании интерфейса GDI+ для рисования линии, прямоугольника или кривой необходимо указывать определенные основные сведения о рисуемом элементе. Например, отрезок задается координатами двух точек, а прямоугольник — точкой, шириной и высотой. Интерфейс GDI+ взаимодействует с программным обеспечением драйвера экрана, чтобы определить, какие пиксели должны быть высвечены, чтобы на экране возникло изображение линии, прямоугольника или кривой. На приведенном ниже рисунке показаны пиксели, высвечиваемые, чтобы отобразить линию от точки с координатами (4, 2) до точки с координатами (12, 8).

Screenshot of a rectangular array showing a line being drawn from a pixel at coordinate 4,2 to a pixel at coordinate 12,8.

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

  • Позиции

  • Прямоугольники

  • Эллипсы

  • Дуги

  • многоугольники

  • Фундаментальные сплайны

  • сплайны Безье

Методы рисования с помощью объекта Graphics

Класс Graphics интерфейса GDI+ содержит следующие методы для рисования элементов из приведенного выше списка: DrawLine (прямые линии), DrawRectangle (прямоугольники), DrawEllipse (эллипсы), DrawPolygon (многоугольники), DrawArc (дуги), DrawCurve (фундаментальные сплайны) и DrawBezier (сплайны Безье). Каждый из этих методов перегружен, то есть каждый из них поддерживает несколько различных списков параметров. Например, один вариант метода DrawLine получает объект Pen и четыре целых числа, а другой вариант метода DrawLine (с таким же названием) получает объект Pen и два объекта Point.

Помимо перечисленных методов для рисования линий, прямоугольников и сплайнов Безье, существуют вспомогательные методы, выполняющие рисование нескольких элементов за один вызов: DrawLines, DrawRectangles и DrawBeziers. Для метода DrawCurve также существует вспомогательный метод DrawClosedCurve, замыкающий кривую путем соединения последней точки кривой с первой.

Все предназначенные для рисования методы класса Graphics используют объект Pen. Чтобы нарисовать какой-либо элемент, нужно создать как минимум два объекта: объект Graphics и объект Pen. Объект Pen предназначен для хранения таких атрибутов рисуемого элемента, как ширина линии и цвет. Объект Pen передается в каждый метод рисования в качестве одного из аргументов. Например, один из вариантов метода DrawLine получает объект Pen и четыре целых числа, как показано в приведенном ниже примере, в котором демонстрируется рисование прямоугольника с шириной 100, высотой 50 и координатами левого верхнего угла (20, 10).

myGraphics.DrawRectangle(myPen, 20, 10, 100, 50);
myGraphics.DrawRectangle(myPen, 20, 10, 100, 50)

См. также