TCanvas
Назначение
Класс позволяет рисовать.
Описание
Вы можете рисовать чертежными инструментами - пером (Pen, отвечает за линии), кистью (Brush, отвечает за заливку) и шрифтом (Font, отвечает за внешний вид текста).
Класс имеет следующие свойства и методы.
Методы и свойства |
Назначение |
procedure Arc (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer) |
Чертит дугу эллипса в охватывающем прямоугольнике (X1,Y1) - (X2,Y2). Начало дуги лежит на пересечении эллипса и луча, проведенного из его центра в точку (X3,Y3), а конец - на пересечении с лучом из центра в точку (X4,Y4). Дуга чертится против часовой стрелки. |
procedure ArcTo (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer) |
Чертит дугу эллипса в охватывающем прямоугольнике (X1,Y1) - (X2,Y2). Начало дуги лежит на пересечении эллипса и луча, проведенного из его центра в точку (X3,Y3), а конец - на пересечении с лучом из центра в точку (X4,Y4). Дуга чертится против часовой стрелки. |
procedure AngleArc (X, Y: Integer; Radius: Cardinal; StartAngle, SweepAngle: Single) |
Рисует дугу по периметру круга, заданного параметрами. |
property Brush: TBrush |
Ссылка на объект кисти. Отвечает за заливку фона фигур. |
property Brush.Color: TColor |
Задает значение цвета для кисти. |
property Brush.Style: TBrushStyle |
Задает стиль кисти. Доступные значения: bsSolid, bsClear, bsHorizontal, bsVertical, bsFDiagonal, bsBDiagonal, bsCross, bsDiagCross |
procedure Chord (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer) |
Чертит сегмент эллипса в охватывающем прямоугольнике (X1,Y1) - (X2,Y2). |
procedure CopyRect (destLeft, destTop, destRight, destBottom: integer; Canvas: TCanvas; srcLeft, srcTop, srcRight, srcBottom: integer |
Копирует изображение из Canvas c прямоугольной областью (srcLeft, srcTop, srcRight, srcBottom), в текущий Canvas в прямоугольную область destLeft, destTop, destRight, destBottom |
procedure Draw (X, Y: Integer; Graphic: TGraphic) |
Осуществляет отрисовку графического объекта Graphic так, чтобы левый верхний угол объекта расположился в точке (X,Y). |
procedure Draw2 (X, Y: Integer; Graphic: TGraphic; Opacity: Byte) |
Осуществляет отрисовку графического объекта Graphic так, чтобы левый верхний угол объекта расположился в точке (X,Y). Параметр Opacity позволяет задать уровень прозрачности (значение от 0 до 255). |
procedure Ellipse (X1, Y1, X2, Y2: Integer) |
Чертит эллипс в охватывающем прямоугольнике (X1,Y1) - (X2,Y2). Заполняет внутреннее пространство эллипса текущей кистью (Brush). |
property Font: TFont |
Свойство отвечает за внешний вид текста, который можно вывести с помощью метода TextOut. |
procedure LineTo (X, Y: Integer) |
Чертит линию от текущего положения пера (Pen) до точки (X,Y). Текущее местоположение задается методом MoveTo. |
procedure MoveTo (X, Y: Integer) |
Перемещает перо (Pen) в положение (X,Y) без вычерчивания линий. |
property Pen: TPen |
Ссылка на объект пера. Отвечает за внешний вид линий. |
property Pen.Color: TColor |
Задает значение цвета для пера (цвет линий). |
property Pen.Style: TPenStyle |
Задает стиль пера (внешнего вида линий). Доступные значения: psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrame |
property Pen.Width: Integer |
Задает толщину пера (толщина линий в пикселях). |
procedure Pie (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer) |
Рисует сектор эллипса в охватывающем прямоугольнике (X1,Y1) - (X2,Y2). |
property Pixels (X, Y: Integer): TColor |
|
procedure Rectangle (X1, Y1, X2, Y2: Integer) |
Вычерчивает и заполняет прямоугольник. |
procedure RoundRect (X1, Y1, X2, Y2, X3, Y3: Integer) |
Рисует заполненный прямоугольник со скругленными краями; (x1,y1) и (x2,y2). X3 и Y3 задает ширину и высоту эллипса, используемого для скругления краев. |
procedure TextOut (X, Y: Integer; const Text: string) |
Выводит текстовую строку Text, таким образом, что точка с координатами (x, y) находится в левом верхнем углу первой буквы. |
property Handle: Integer |
Пример
Form1.Image1.Canvas.Brush.Style := bsClear;
Form1.Image1.Canvas.Font.Orientation := 270;
Form1.Image1.Canvas.MoveTo(50, 50);
Form1.Image1.Canvas.LineTo(100, 100);
Form1.Image1.Canvas.TextOut(150, 150, 'Текст');
Form1.Image1.Canvas.Ellipse(30, 30, 45, 45);