Холст
Программа может вывести графику на поверхность формы (или
компонента image), которой соответствует свойство
canvas (Canvas — холст для
рисования). Для того чтобы на поверхности формы или компонента image появилась линия, окружность, прямоугольник или другой
графический элемент (примитив), необходимо к свойству Canvas применить соответствующий метод (табл. 3.1).
Например, оператор Forml->Canvas->Rectangle(10,10,50, 50); рисует на
поверхности формы прямоугольник.
Таблица 3.1.
Методы вычерчивания графических примитивов
Метод | Действие |
LineTo(x,y) | Рисует линию из текущей точки в точку с указанными координатами |
Rectangle (x1,y1,x2, y2) | Рисует прямоугольник, x1, y1 и х2, у2 — координаты левого верхнего и правого нижнего углов прямоугольника. Цвет границы и внутренней области прямоугольника могут быть разными |
FillRect (x1,y1,x2,y2) | Рисует закрашенный прямоугольник, x1, y1, х2, у2 — определяют координаты диагональных углов |
FrameRect(x1,y1,x2,y2) | Рисует контур прямоугольника, x1, y1, х2, у2 — определяют координаты диагональных углов |
RounRect (x1,y1,x2,y2,x3,y3) | Рисует прямоугольник со скругленными углами |
Ellipse (x1,y1,x2,y2) | Рисует эллипс или окружность (круг), x1, y1, х2, у2 — координаты прямоугольника, внутри которого вычерчивается эллипс или, если прямоугольник является квадратом, окружность |
Polyline (points, n) | Рисует ломаную линию, points— массив типа TPoint. Каждый элемент массива представляет собой запись, поля х и у которой содержат координаты точки перегиба ломаной; л — количество звеньев ломаной. Метод Polyline вычерчивает ломаную линию, последовательно соединяя прямыми отрезками точки, координаты которых находятся в массиве: первую со второй, вторую с третьей, третью с четвертой и т. д. |
Методы вывода графических примитивов рассматривают свойство
canvas как некоторый абстрактный холст, на котором они
могут рисовать (Canvas переводится как "поверхность",
"холст для рисования"). Холст состоит из отдельных точек — пикселов. Положение
пиксела на поверхности холста характеризуется горизонтальной (X) и вертикальной
(Y) координатами. Координаты возрастают сверху вниз и слева направо (рис. 3.1).
Левый верхний пиксел поверхности формы (клиентской области) имеет координаты (0,
0), правый нижний — (ciientwidth, clientHeight). Доступ к отдельному пикселу осуществляется
через свойство Pixels, представляющее собой двумерный
массив, элементы которого содержат информацию о цвете точек холста.
Следует обратить внимание на важный момент. Изображение, сформированное
на поверхности формы, может быть испорчено, например, в результате полного или
частичного перекрытия окна программы другим окном. Поэтому программист должен
позаботиться о том, чтобы в момент появления окна программа перерисовала
испорченное изображение. К счастью, операционная система Windows информирует программу о необходимости перерисовки
окна, посылая ей соответствующее сообщение, в результате чего возникает событие
OnPaint. Событие OnPaint
возникает и в момент запуска программы, когда окно появляется на экране в первый
раз. Таким образом, инструкции, обеспечивающие вывод графики на поверхность
формы, надо поместить в функцию обработки события onPaint.
|