Линия

Отрезок прямой линии отображаются с помощью процедур:

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.

pascal69

Ось X рисуется процедурой Line, ось Y процедурами MoveTo и LineTo. Графики нарисованы разными стилями. Черный цвет – ломанная линия, красный жирный – кривая Безье.

Twitter SEO Community Ваау! News2.ru Chipp Korica SMI2 Google Bookmarks Digg I.ua Закладки Yandex Linkstore Myscoop Communizm Ru-marks Webmarks Ruspace Linkomatic Kli.kz Web-zakladka Zakladok.net Reddit delicious Ma.gnolia Technorati Slashdot Yahoo My Web БобрДобр.ru Memori.ru rucity.com МоёМесто.ru Mister Wong

Copyright © 2009-2010 Программирование на паскале.