Многие люди думают о многоугольниках как о фигурах, подобных квадратам, треугольникам, пятиугольникам и тому подобному Это в действительности регулярные многоугольники, у которых, согласно требованиям, все стороны одинаковой длины и все углы между сторонами также равны. Но многоугольник - это некоторая замкнутая фигура, состоящая из трех или более линий.

Если многоугольник не замкнут (что происходит в случае, когда он имеет два конца линий, которые не встречаются), вы будете иметь не многоугольник, а ломаную линию Ломаная линия является просто серией соединенных вместе линий, которые в конечном итоге не сходятся вместе Классический складной метр, складывающийся шесть раз является хорошим примером ломаных линий в реальной жизни. Он состоит из шести одно-фуговых линеек, скрепленных на концах

Программирование в среде Delphi
Рис. 12.4 Простые фигуры и их ограничивающие прямоугольники
Программирование в среде Delphi
Рис. 12.5 Как определяются прямоугольники с закругленными углами

С помощью графики, ориентированной на применение полотна, используемого в Delphi, можно нарисовать - и многоугольник и ломаную линию. Тип ТCanvas имеет два метода - Polyline и Polygon, которые и выполняют эту работу. Оба метода названы точно своим именем (на английском языке) и требуют те же самые (до некоторой степени особенные) параметры, которые описаны в следующем разделе.

Параметры открытого массива

Эти особенные параметры представляют собой нечто, что называется параметрами открытого массива. Они позволяют передавать массивы различных размеров в процедуру или функцию. В случае Polyline и Polygon это означает некоторый массив элементов типа TPoint. Тип TPoint - простая предопределенная запись в Delphi, которая представляет собой пару координат:

ТУРЕ

TPoint = RECORD

X : Integer, У : Integer; end

Если вам надо определить массив записей TPoint, вы можете выразить это линией, такая линия (то-ли открытая, как в ломаной линии, то-ли закрытая, как в многоугольнике) является строкой точек, соединенных между собой. Первая точка в массиве является начальной точкой ломаной линии или многоугольника, а вторая точка определяет конец первой линии сегмента. Третья точка определяет конец второй линии сегмента, и так далее.

Параметр, который вы передаете - или к Polyline, или к Polygon - является открытым массивом, так как вам не надо передавать одно и то же количество элементов каждый раз, когда вы вызываете функцию. Любой массив записей TPoint может быть передан к Polyline или Polygon как его единственный параметр. Вы можете определить и заполнить некоторый массив посредством операторов присваивания. Или же можете передать массив констант, состоящий из цифровых литералов, как последовательность координатных пар. В этой книге мы не будем охватывать в деталях массивы констант. Вы можете получить дополнительную информацию, просмотрев подсказку в Delphi.

Самый лучший путь переслать массив констант записей типа TPoint для Polyline и Polygon - это использовать встроенную функцию Point в Delphi. Функция Point берет целые значения х и у и возвращает в качестве результата запись типа TPoint. Вы можете поставить вызовы функции Point в одну последовательность, чтобы сформировать массив записей TPoint, как здесь показано:


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в среде Delphi



Новости за месяц

  • Декабрь
    2021
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31