Иллюстрированный самоучитель по Delphi 7 для профессионалов

Класс TCanvas

Таблица 10.4. Методы класса TCanvas.

Метод Описание
procedure Arc (X1, Y1, Х2, Y2, ХЗ, Y3, Х4, Y4:Integer); Метод рисует сегмент эллипса. Эллипс определяется описывающим прямоугольником (X1.Y1)– (Х2, Y2); его размеры должны лежать в диапазоне от 2 до 32 767 точек. Начальная точка сегмента лежит на пересечении эллипса и луча, проведенного из его центра через точку (Х3, Y3). Конечная точка сегмента лежит на пересечении эллипса и луча, проведенного из его центра через точку (Х4, Y4). Сегмент рисуется против часовой стрелки
procedure Chord (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer); Рисует хорду и заливает отсекаемую ею часть эллипса. Эллипс, начальная и конечная точки определяются, как в методе Arc
procedure Ellipse (X1, Y1, X2, Y2: Integer); Рисует и закрашивает эллипс, вписанный в прямоугольник (Х1, Y1) – (Х2, Y2)
procedure LineTo(X, Y: Integer); Проводит линию текущим пером из текущей точки в (X, Y)
procedure MoveTo (X,Y: Integer); Перемещает текущее положение пера (свойство PenPos) в точку (X, Y)
procedure BrushCopy (const Dest: TRect; Bitmap: TBitmap; const Source: TRect; Color: TColor); Производит специальное копирование. Прямоугольник Source из битовой карты Bitmap копируется в прямоугольник Dest на канве; при этом цвет Color заменяется на цвет текущей кисти (Brush. Color).
С помощью этого метода можно нарисовать "прозрачную" картинку. Для этого нужно выбрать соответствующий фону цвет кисти и затем заменить на него фоновый или наиболее часто встречающийся цвет битовой карты (см. Bitmap. TransparentColor)
procedure CopyRect (const Dest: TRect; Canvas: TCanvas; const Source: TRect); Производит копирование прямоугольника Source из канвы Canvas в прямоугольник Dest в области самого объекта
procedure FillRect (const Rect: TRect); Производит заливку прямоугольника (текущей кистью)
procedure FrameRect (const Rect: TRect); Осуществляет рисование контура прямоугольника цветом текущей кисти (без заполнения)
procedure Draw(X, Y: Integer; Graphic: Tgraphic); Осуществляет рисование графического объекта Graphic (точнее, вызов метода его рисования) в области с верхним левым углом (X, Y)
procedure StretchDraw (const Rect: TRect; Graphic: TGraphic); Осуществляет рисование объекта Graphic в заданном прямоугольнике Rect. Если их размеры не совпадают, Graphic масштабируется
procedure DrawFocusRect (const Rect: TRect); Производит отрисовку прямоугольной рамки из точек (как на элементе, имеющем фокус ввода). Поскольку метод использует логическую операцию ХОР (исключающее ИЛИ), повторный вызов для того же прямоугольника приводит изображение к начальному виду
procedure FloodFill (X, Y: Integer; Color: TColor; FillStyle: Tf illStyle); TFillStyle = (fsSurface, fsBorder); Производит заливку области текущей кистью. Процесс начинается с точки (X, Y). Если режим FillStyle равен fsSurface, то он продолжается до тех пор, пока есть соседние точки с цветом Color. В режиме fsBorder закрашивание, наоборот, прекращается при выходе на границу с цветом Color
procedure Pie (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer); Рисует сектор эллипса, описываемого прямоугольником (Х1, Y1) – (Х2, Y2). Стороны сектора лежат на лучах, проходящих из центра эллипса через точки (Х3, Y3) и (Х4, Y4)
procedure Polygon (const Points: array of TPoint); Строит многоугольник, используя массив координат точек Points. При этом последняя точка соединяется с первой и внутренняя область закрашивается
procedure Polyline (const Points: array of TPoint); Строит ломаную линию, используя массив координат точек Points
procedure PolyBezier (const Points: array of TPoint); Строит кривую Безье (кубический сплайн), используя массив координат точек Points
procedure PolyBezierTo (const Points: array of TPoint); Строит кривую Безье (кубический сплайн), используя массив координат точек Points. Текущая точка используется в качестве первой
procedure Rectangle (X1, Y1, X2, Y2: Integer); Рисует прямоугольник с верхним левым углом в (Х1, Y1) и нижним правым в (Х2, Y2)
procedure RoundRect (X1, Y1, X2, Y2, X3, Y3: Integer); Рисует прямоугольник с закругленными углами. Координаты вершин – те же, что и в методе Rectangle. Закругления рисуются как сегменты эллипса с размерами осей по горизонтали и вертикали Х3 и Y3
function TextHeight (const Text: string): Integer; Задает высоту строки Text в пикселах
function TextWidth (const Text: string): Integer; Задает ширину строки Text в пикселах
procedure TextOut (X, Y: Integer; const Text: string); Производит вывод строки Text. Левый верхний угол помещается в точку канвы (X, Y)
procedure TextRect (Rect: TRect; X, Y: Integer; const Text: string); Производит вывод текста с отсечением. Как и в TextOut, строка Text выводится с позиции (X, Y); при этом часть текста, лежащая вне пределов прямоугольника Rect, отсекается и не будет видна
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.