Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_Delphi_2.doc
Скачиваний:
12
Добавлен:
18.09.2019
Размер:
1.91 Mб
Скачать

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, TeEngine, Series, TeeProcs, Chart;

type

TForm1 = class(TForm)

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Chart1: TChart;

Series1: TLineSeries;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);

var

i,amp,x01,y01,x02,y02,imax,t:integer;

func:real;

begin

imax:=100; // число точек в периоде

t:=3; // число периодов

amp:=70; // амплитуда

x01:=20; // начала координат

x02:=20;

y01:=20+amp;

y02:=y01+2*amp+40;

// Рисуем график с Pixels

Canvas.TextOut(0,0,'График функции с Pixels');

Canvas.MoveTo(x01,y01); // Рисуем ось X

Canvas.LineTo(x01+imax*t,y01);

Canvas.MoveTo(x01,y01+amp); // Рисуем ось Y

Canvas.LineTo(x01,y01-amp);

for i:=0 to imax*t do // Рисуем график

begin

func:=-amp*sin(2*pi/imax*i);

Canvas.Pixels[x01+i,y01+round(func)]:=clBlack;

end;

// Рисуем график с LineTo

Canvas.TextOut(x02,y02-amp-20,'График функции c LineTo');

Canvas.MoveTo(x02,y02); //Рисуем ось X

Canvas.LineTo(x02+imax*t,y02);

Canvas.MoveTo(x02,y02+amp); //Рисуем ось Y

Canvas.LineTo(x02,y02-amp);

for i:=0 to imax*t do //Рисуем график

begin

func:=-amp*sin(2*pi/imax*i);

Canvas.LineTo(x02+i,y02+round(func));

end;

// Рисуем график в компонентеTChart

for i:=0 to imax*t do Chart1.SeriesList[0].AddXY(i,amp*sin(2*pi/imax*i),'',clRed);

end;

Initialization

end.

На рис. 15 .12 представлено окна работающего приложения проекта. Оно возникает при нажатии кнопки График. В окне видны графики одной и той же функции, построенные разными способами:

  • С использованием свойства Pixels (вверху слева).

  • С использованием метода LineTo (внизу слева).

  • С помощью компонента TChart (справа).

рис. 15.12. Окна работающего приложения задачи

Выводы

  1. Для рисования используется класс Canvas (поверхность рисования, или холст).

  2. Многие компоненты имеют свойство Canvas. Например, Form (форма), компонент Image (изображение).

  3. Canvas имеет два инструмента: Pen (перо) для рисования линий, Brush (кисть) для заливки областей.

  4. Pen имеет свойства:

  • Color - цвет линии, значения с префиксом cl (например, clRed),

  • Style - тип линии, значения с префиксом ps (например, psSolid, принято по умолчанию),

  • Width - толщина линии, в пикселах (по умолчанию 1),

  • Mode - режим взаимодействия с поверхностью холста, значения с префиксом pm (например, pmCopy - писать цветом пера, режим по умолчанию),

  1. Brush имеет свойства:

  • Color - цвет заливки,

  • Style - стиль заливки, значения с префиксом bs (Например, bsCross).

  1. Для рисования графиков функций используются свойство TCanvas.Pixel(x,y) и метод TCanvas.LineTo. Второй метод дает более качественный график.

  2. Для построения графиков есть компонент TChart, позволяющий автоматизировать значительную часть операций.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]