Этот класс создаёт “канву” – поверхность, на которой можно рисовать чертёжными инструментами – пером, кистью и шрифтом. Объекты класса TCanvas автоматически создаются для всех видимых компонентов, которые должны уметь нарисовать себя.
Свойства класса:
Свойство
Значение
Brush
Объект – кисть.
ClipRect
Определяет текущие размеры области, нуждающиеся в прорисовке.
CopyMode
Устанавливает способ взаимодействия растрового изображения с цветом фона.
Font
Объект – шрифт.
LockCount
Счётчик блокировок канвы. Увеличивается на единицу при каждом обращении к методу Lock и уменьшается при обращении к Unlosk.
Pen
Объект – перо.
PenPos
Определяет текущее положение пера в пикселях относительно левого верхнего угла канвы.
Pixels(X,Y:Integer)
Массив пикселей канвы.
Методы класса:
Метод
Назначение
Arc(x1,y1,x2,y2,x3,y3,x4,y4)
Чертит дугу эллипса в охватывающем прямоугольнике (х1,у1)‑(х2,у2). Начало дуги лежит на пересечении эллипса и луча, проведенного из его центра в точку (х3,у3), а конец – на пересечении с лучом из центра в точку (х3,у4)
Chord(x1,y1,x2,y2,x3,y3,x4,y4)
Чертит сегмент эллипса в охватывающем прямоугольнике (х1,у1)‑(х2,у2)
Ellipse(x1,y1,x2,y2)
Чертит эллипс в охватывающем прямоугольнике (х1,у1)‑(х2,у2). Заполняет все внутреннее пространство эллипса текущей кистью
FillRect(const Rect)
Заполняет текущей кистью прямоугольную область Rect, включая ее левую и верхнюю границы, но не затрагивая правую и нижнюю
LineTo(x,y)
Чертит линию от текущего положения пера до точки (х,у)
MoveTo(x,y)
Перемещает перо в положение (х,у) без вычерчивания линий
PolyGon(points: array of points)
Вычерчивает пером многоугольник по точкам, заданным в массиве points. Конечная соединяется с начальной, и многоугольник заполняется кистью
PolyLine(points: array of points)
Вычерчивает пером ломаную прямую по точкам, заданным в массиве points
Rectangle(x1,y1,x2,y2)
Вычерчивает и заполняет прямоугольник (х1,у1)‑(х2,у2)
Refresh
Устанавливает перо, кисть и шрифт по умолчанию
TextHeight(const Text:string):integer
Возвращает высоту прямоугольника, охватывающего текстовую строку Text
TextOut(x,y:integer;const Text:string)
Выводит текстовую строку Text так, чтобы левый верхний угол прямоугольника, охватывающего текст, располагался в точке (x,y)
TextWidth(const Text:string):integer
Возвращает ширину прямоугольника, охватывающего текстовую строку Text
TextRect(rect:Trect; x,y:integer; Text:string);
Выводит текстовую строку Text так, чтобы левый верхний угол прямоугольника, охватывающего текст, располагался в точке (x,y)