, це можна зробити за допомогою функції Slice. Якщо треба намалювати криву всього по декількох точках, то передавати їх в метод Polylineудобно за допомогою функції Point.
Приклади
. Оператор
Form1.Canvas. Polyline ([Point (10,10), Point (30,10),
Point (130, 30), Point (240, 120)]);
малює кусочно-лінійну криву по чотирьох точках, заданим функціями
Point.
. varPointArray: array [0..100] of TPoint; TForm1.ButtonlClick (Sender: TObject) ;, x, y: word; i:=0 to 100 do begin:=Image1.ClientWidth * i div 100;:=trunc ((Image1.ClientHeight div 2) *
(1 + sin (4 * Pi * x/Image1.ClientWidth))); [i]:=Point (x, y) ;;; TForml.Button2Click (Sender: TObject ) ;. Canvas.PolyLine (PointArray) ;; TForml.Button3Click (Sender: TObject) ;. Canvas.PolyLine (Slice (PointArray, 25));
end;
Перша процедура ButtonlClickзаполняет масив PointArrayточкамі, що описують графік функції sin (x) протягом двох періодів (4?). Друга процедура Button2Click по точках з цього масиву малює графік на канві компонента Imagel. Третя процедура Button3Click використовує для малювання графіка перші 25 точок цього масиву.
Малює на канві прямокутну рамку з округленими кутами
Клас TCanvas
Оголошення
procedureRoundRect (XI, Yl, Х2, Y2, ХЗ, Y3: Integer);
Опис
Метод RoundRectрісует на канві прямокутну рамку з округленими
кутами, використовуючи поточні установки пера Pen і заповнюючи площа фігуритекущей пензлем Brush. Рамка визначається прямокутником з координатами кутів (XI, Y1) і (X2, Y2). Кути скругляются з помощьюелліпсов з шириною ХЗ і висотою Y3.
Якщо задати ширину еліпса ХЗ? Х2? XI, то верхня і нижня межі рамки виявляться цілком округленими (без прямолінійною частини). Якщо Y3? Y2? Y1, те ж саме відбудеться з лівого і правого межами рамки. Якщож обидва вимірювання еліпса не менші розміром рамки, то буде рісоватьсяпросто еліпс. Але, звичайно, для малювання еліпса краще використовувати методEllipse. Якщо один з розмірів еліпса задати нульовим, то буде рісоватьсяпрямоугольная рамка. Але, звичайно, для такої рамки краще використовувати метод Rectangle.
Приклад
Наступні оператори викликають зображення, показане на рис.:
withImagel.Canvas do(10,10,110,210,50,100);(160,10,260,210,100,100);(310,10,410,210,50,200);(460,10,560,210,100,200);;
Рис. Приклади застосування функції Round Rect
Глава 2. Програма ілюструє малювання прямокутників
Створимо просте додаток, що ілюструє роботу з графікою в Delphi на прикладі малювання прямокутників.