Линия
Отрезок прямой линии отображаются с помощью процедур:
MoveTo(x,y); // Указатель в начальную точку.
LineTo(x,y); // Линия до точки, начиная от текущей.
Линии через множество точек отображаются с помощью процедур:
PolyLine(Points:TPoint; // Ломанная линия.
PolyBezier(Points:TPoint,false,false); // Кривая Безье, фрагменты из 3 точек.
Points – массив точек типа TPoint, каждая из которых имеет координаты (x, y).
Пример. Рисование линий.
unit DrawLine_;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
Implementation
procedure TForm1.Button1Click(Sender: TObject);
const
count=10;
var
i,dx,dy,x0,y0:integer;
graphic:array[1..count] of TPoint;
begin
x0:=10;
y0:=200;
dx:=15;
dy:=5;
for i:=1 to count do
begin
graphic[i].x:=x0+(i-1)*dx;
graphic[i].y:=y0-random(40)*dy;
end;
with Form1.Canvas do
begin
MoveTo(x0, y0); // Ось y
LineTo(x0,10);
Line(x0, y0, x0+190, y0); // Ось x
PolyLine(graphic); // Ломанная линия
Pen.Color:=clRed;
Pen.Width:=2;
PolyBezier(graphic,false,false); // Кривая Безье
end;
end;
initialization
{$I drawline_.lrs}
end.
Ось X рисуется процедурой Line, ось Y процедурами MoveTo и LineTo. Графики нарисованы разными стилями. Черный цвет – ломанная линия, красный жирный – кривая Безье.