Lazarus - графические методы и процедуры
Lazarus позволяет программисту разрабатывать программы, которые могут выводить графику: схемы, чертежи, иллюстрации.
ХОЛСТ. Canvas – это свойство объекта Form, т.е. холст находящийся на форме, который в свою очередь является объектом типа TCanvas.
Холст состоит из отдельных точек - пикселов. Положение пиксела характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Левый верхний пиксел имеет координаты (0,0). Координаты возрастают сверху вниз и слева направо. Значения координат правой нижней точки холста зависят от размера холста. Размер холста можно узнать, обратившись к свойствам Height и Width объекта на котором происходит рисование.
Карандаш и кисть. Карандашу и кисти, используемым для вывода графики на холсте, соответствуют свойства Реn (карандаш) и Brush (кисть), которые представляют собой объекты типа TPen и TBrush, соответственно.
Методы вычерчивания графических примитивов
ЛИНИЯ. Вычерчивание прямой линии осуществляет метод LinеТо, инструкция вызова которого в общем виде выглядит следующим образом:
Form1.Canvas.LineTo(x2,у2);
Метод LinеТо вычерчивает прямую линию от текущей позиции карандаша в точку с координатами, указанными при вызове метода.
Начальную точку линии можно задать, переместив карандаш в нужную точку графической поверхности. Сделать это можно при помощи метода MoveTo, указав в качестве параметров координаты нового положения карандаша.
Form1.Canvas.MoveTo(x1,у1);
Вид линии (цвет, толщина и стиль) определяется значениями свойств объекта Pen графической поверхности, на которой вычерчивается линия.
Свойства Pen. Color - цвет линии.
| clBlack – черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий clGreen – зеленый clBrown – коричневый | clBlue – синий clSkyBlue – голубой clYellow – желтый clCream – кремовый clAqua – бирюзовый clOlive – оливковый clFuchsia – сиреневый | clTeal – сине-зеленый clGray – серый clLime – ярко-зеленый clLightGray – светло-серый clMoneyGreen – цвет зеленых денег clDarkGray – темно-серый |
Width Толщину линии
Style Вид линии
| psSolid | | psDot | |
| psClear | | psDashDot | |
| psDash | | psDashDotDot | |
Свойства Brush
Color Цвет закрашивания замкнутой области
Style Стиль (тип) заполнения области
| bsSolid | | | bsCross | | bsBDiagonal | |
| bsClear | | | bsDiagCross | | bsFDiagonal | |
| bsHorizontal | | | bsVertical | | | |
ОКРУЖНОСТЬ И ЭЛЛИПС. Метод Ellipse вычерчивает эллипс или окружность, в зависимости от значений параметров. Инструкция вызова метода в общем виде выглядит следующим образом:
Объект.Canvas.Ellipse(x1,y1, х2,у2);
Цвет, толщина и стиль линии эллипса определяются значениями свойства Pen, а цвет и стиль заливки области внутри эллипса — значениями свойства Brush поверхности (Canvas), на которую выполняется вывод.
ДУГА. Вычерчивание дуги выполняет метод Arc, инструкция вызова которого в общем виде выглядит следующим образом:
Объект.Canvas.Arc(x1,y1,х2,у2,х3,у3,х4,у4);
ПРЯМОУГОЛЬНИК. Прямоугольник вычерчивается методом Rectangle, инструкция вызова которого в общем виде выглядит следующим образом:
Объект.Canvas.Rectangle(x1, y1,x2, y2);
СЕКТОР. Метод pie вычерчивает сектор эллипса или круга. Инструкция вызова метода в общем виде выглядит следующим образом:
Объект. Canvas.Pie(x1,y1,x2,y2,х3,у3,х4,у4);
ТОЧКА. Поверхности, на которую программа может осуществлять вывод графики, соответствует объект Canvas. Используя свойство Pixels, можно задать требуемый цвет для любой точки графической поверхности, т. е. "нарисовать" точку. Например, инструкция
Form1.Canvas.Pixels[10,10] := clRed;
окрашивает точку поверхности формы в красный цвет.
Левой верхней точке рабочей области формы соответствует элемент Pixels [0,0], а правой нижней – Pixels [CiientWidth - 1, ClientHeight - 1].
ВЫВОД ТЕКСТА. Для вывода текста на поверхность графического объекта используется метод TextOut. Инструкция вызова метода TextOut в общем виде выглядит следующим образом:
Объект.Canvas.TextOut(x, у, ‘Текст’);
Где: объект - имя объекта, на поверхность которого выводится текст;
х, у - координаты точки графической поверхности, от которой выполняется вывод текста;
Текст - переменная или константа символьного типа, значение которой определяет выводимый методом текст.