Ламана лінія

Метод polyline викреслює ламану лінію. Як параметр метод отримує масив типу TPoint. Кожен елемент масиву представляє собою запис, поля х і у якій утримують координати точки перегину ламаної.

Метод Polyline викреслює ламану лінію, послідовно з'єднуючи прямими точки, координати яких знаходяться в масиві: першу з другою, другу з третьою, третю з четвертою і т. Д.

Як приклад використання методу Polyline в лістингу 10.3 приведена процедура, яка виводить графік зміни деякої величини. Передбачається, що вихідні дані знаходяться в доступному процедурі масиві Data (тип Integer).

Лістинг 10.3. Графік функції (використання методу Polyline)

procedure TForml.Button1Click (Sender: TObject);

gr: array [1..50] of TPoint; // графік - ламана лінія

x0, y0: integer; // координати точки початку координат

dx, dy: integer; // крок координатної сітки по осях X і Y

// заповнимо масив gr

gr [i] .y: = y0 - Data [i] * dy;

with forml.Canvas do begin

MoveTo (x0, y0); LineTo (x0,10); // вісь Y

MoveTo (x0, y0); LineTo (200, y0); // вісь X

Метод Polyline можна використовувати для креслення замкнутих контурів. Для цього треба, щоб перший і останній елементи масиву містили координати однієї і тієї ж точки. Як приклад використання методу Polybine для креслення замкнутого контуру в лістингу 10.4 приведена програма, яка на поверхні діалогового вікна, в точці натискання кнопки миші, викреслює контур п'ятикутної зірки (рис. 10.5). Колір, яким викреслюється зірка, залежить від того, яка з кнопок миші була натиснута. Процедура обробки натискання кнопки миші (подія MouseDown) викликає процедуру малювання зірки starLine і передає їй як параметр координати точки, в якій була натиснута кнопка. Зірку викреслює процедура starLine, яка в якості параметрів отримує координати центру зірки і полотно, на якому зірка повинна бути виведена. Спочатку обчислюються координати кінців і западин зірки, які записуються в масив р. Потім цей масив передається в якості параметра методу Polyline. При обчисленні координат променів і западин зірки використовуються функції sin і cos. Так як аргумент цих функцій повинен бути виражений в радіанах, то значення кута в градусах домножается на величину pi / 18о, де pi - це стандартна іменована константа рівна числу л.

Лістинг 10.4. Креслення замкнутого контуру (зірки) в точці натискання кнопки миші

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls;

TForm1 = class (TForm)

procedure FormMouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

Схожі статті