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


Обзор векторной графики

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

Иллюстрация системы координат с осью X, расширяющейся вправо, и осью Y, расширяющейся вниз

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

Иллюстрация прямоугольной сетки с тремя ячейками в этой сетке, помеченной их координатами

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

Иллюстрация, показывающая прямоугольную сетку с ячейками, заполненными для обозначения линии между двумя конечными точками

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

  • Линии
  • Прямоугольники
  • Эллипсы
  • Дуги
  • многоугольники
  • Фундаментальные сплайны
  • Сплайны Безье

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

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

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

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