Делаем ударение на положительном, но с небольшим отклонением

Так как координатные линии тянутся в бесконечность - и в положительном и в отрицательном направлениях, то на Декартовой координатной сетке должны быть отрицательные координаты. Вот почему на Рисунке 12.1 существуют точки с координатами -3 и -1. Если вы ограничиваете себя исключительно положительными координатами, вы сможете наносить точки только в верхний квадрат Декартовой координатной сетки. В

Программирование в среде Delphi
Рис. 12.1 Координатная сетка.

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

Хотя есть разница: Delphi помешает начало системы координат в верхний левый угол вашей области рисования (называемой полотном), а не в нижний левый. Ось у, становясь все более положительной, идет вниз, а не вверх, но точки наносятся точно так же. Это положение действует в большинстве систем компьютерной графики: начало системы координат помещается в верхнем левом углу области рисования. Я, откровенно, не уверен, почему надо делать это именно так (и это не уверсально; операционная система OS/2 возвращается к Декартовому положению, где ось у поднимается вверх в положительном направлении). На Рисунке 12.2 показано полотно Delphi и ее система координат.

ПОЛОТНО КАК ОБЪЕКТ

Вы можете думать о полотне Delphi как о куске программируемой миллиметровой бумаги без линий. (Раз это программирование, то зачем линии?) Полотно действительно является объектом класса TCanvas и, подобно всем объектам, обладает своими свойствами и методами. Полотна обычно не используются поодиночке. В большинстве случаев полотна будут объектами, принадлежащими другим объектам и будут служить поверхностью рисования для этого объекта "владельца". Думайте о нем как о листе бумаги,

Программирование в среде Delphi
Рис. 12.2 Полотно в Delphi.

предназначенном для хранения буфере обмена информации (кармане); трудно удержать кусок бумаги в центре области и рисовать на ней.

Итак, полотно имеет свойства; в большинстве случаев полотно является свойством других, более сложных объектов, типа форм или принтеров. В действительности это то же самое полотно, не взирая на то, что из себя представляет его собственник - форма, принтер, что угодно. Вы широко используете для вашего рисования тот же код на Object Pascal, независимо от того, где появится окончательный образ.

Полотно точек растра

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

Чтобы сделать это, надо думать о полотне как о Декартовой координатной сетке, как это показано на Рисунке 12.2 - Декартовая координатная сетка реализована как двумерный массив, который называется массивом точек растра*, каждый элемент которого является точкой на полотне, которая может быть установлена в любой из существующих цветов.


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

Программирование в среде 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