четверг, 26 сентября 2013 г.

Графика в Lazarus

   Рисование является одним из любимых занятий для многих людей. Итак, создадим новый проект - приложение и перейдем к событию формы OnPaint. В результате в редакторе кода появится следующая процедура:

procedure TForm1.FormPaint(Sender: TObject);
begin

end;  

Теперь добавим внутрь следующий код
 form1.Canvas.pen.Color:=clred;
  form1.Canvas.pen.Width:=3;
  form1.Canvas.pen.Style:=psDot;
  form1.Canvas.Brush.Color:=clgreen;
  form1.Canvas.Brush.Style:=bsCross ;
  form1.Canvas.Ellipse(50,50,200,200);
  
   Попробуем разобраться, что за методы и свойства формы мы использовали. Для того, чтобы вывести на поверхность объекта (объекты Form или Image) графический элемент (прямую линию, эллипс, прямоугольник и др.), необходимо применить к свойству Canvas (Холст) этого объекта соответствующий метод. Как и во многих графических редакторах, для рисования используются два инструмента - Pen (карандаш) и Bruch (кисть). Карандаш рисует контур фигуры, а кисть окрашивает внутреннюю часть фигуры. 
   Так, фрагмент кода  form1.Canvas.pen.Color:=clred задает красный цвет карандаша,
фрагмент form1.Canvas.pen.Width:=3 определяет его толщину, а код form1.Canvas.pen.Style:=psDot отвечает за стиль линии. Аналогично настраиваются параметры кисти. 
   Теперь, когда все параметры указаны, можно перейти к рисованию фигуры. Любая точка формы имеет свои координаты. Для рисования объекта нужно указать, в каком месте формы будет произведено построение фигуры. При этом начало координат расположено в верхнем левом углу формы. 
   Так, код form1.Canvas.Ellipse(50,50,200,200) вызовет построение эллипса на форме в указанных координатах. 
   Свойства объектов Pen и Brush:
Pen
Цвет: clblack-черный, clwhite-белый, clgreen-зеленый, clblue-голубой и т.д.
Стиль линии: pssolid-сплошная, psdash-длинный штрих,psdot-короткий штрих,psclear-невидимая линия
Brush
Цвет: clblack-черный, clwhite-белый, clgreen-зеленый, clblue-голубой и т.д.
Стиль (тип закрашивания): bssolid-сплошная заливка, bsclear-без заливки,bsvertical вертикальный штрих,bscross-клетки,bsdiagcross-наклонные клетки.
   Поговорим о некоторых фигурах, которые можно нарисовать.
  Точка
Form1.Canvas.Pixels(x,y) - точка в заданных координатах
  Линия:
Form1.Canvas.MoveTo(x,y)  -  начальная точка
Form1.Canvas.LineTo(x,y)  -  конечная точка 
 Прямоугольник
Form1.Canvas.Rectangle(a,b,x,y) - где (a,b) и (x,y) - координаты противоположных вершин

   

Комментариев нет:

Отправить комментарий