|
|||||||||||||||||||
Геометрические фигурыГеометрические фигуры В Delphi, так же, как и в других системах программирования с графическими возможностями, существуют так называемые графические примитивы — простейшие объекты, из которых составляется рисунок. Цвет и стиль линий определяется свойством Canvas.Pen (перо), которое содержит несколько подсвойств. Из них наиболее важны три следующих: Color — цвет линий; Width — толщина линий Style — стиль линии: psClear — нет линий, psSolid — сплошная, psDash — штриховая, psDot — точечная и другие. По умолчанию линия сплошная, имеет черный цвет и толщину 1 пиксель. Вот эта команда устанавливает красный цвет для линий: Canvas.Pen.Color := clRed; Замкнутые фигуры можно залить сплошным цветом или узором прямо при рисовании. Тип заливки определяется кистью — свойством Canvas.Brush, которое имеет два основных подсвойства: Color — цвет кисти; Style — стиль кисти: bsClear — нет заливки, bsSolid — сплошная, bsCross — в клеточку и другие. По умолчанию устанавливается сплошная заливка белым цветом. При рисовании линий используется понятие текущей позиции рисования (гарфического курсора). Это невидимая точка, из которой начинается рисование очередного отрезка. Метод MoveTo(x,y) перемещает курсор (текущую позицию) в точку с координатами (x,y), а команда LineTo(x,y) рисует отрезок из текущей позиции в точку (x,y). Например, эти команды рисуют отрезок из точки (10,10) в точку (100,100): Canvas.MoveTo ( 10, 10 ); Canvas.LineTo ( 100, 100 ); После выполнения метода LineTo(x,y) текущая позиция смещается в точку (x,y).
Хотелось бы избавиться от утомительного написания символов «Canvas.» перед каждой командой рисования. Для этого есть простой способ: использовать оператор with: with Canvas do begin ... end; Программа будет считать, что все обращения внутри этого блока — это обращения к свойствам и методам объекта Canvas.
Для рисования прямоугольника используется метод Canvas.Rectangle ( x1, y1, x2, y2 ); Два противоположных угла этого прямоугольника находятся в точках (x1,y1) и (x2,y2), для контура используются настройки пера (Canvas.Pen), для заливки внутренней части — кисть (Canvas.Brush). Следующий код рисует красный прямоугольник с синей заливкой: with Canvas do begin Pen.Color := clRed; Brush.Color := clBlue; end; Чтобы отключит заливку, достаточно установить прозрачную кисть, то есть Canvas.Brush.Style := bsClear; Эллипсы (и круги) рисуются с помощью метода Canvas.Ellipse: Canvas.Ellipse( x1, y1, x2, y2 ); Точки (x1,y1) и (x2,y2) — это противоположные углы прямоугольника, в который вписан этот эллипс.
|
|||||||||||||||||||
|