Упражнение 3

Создайте приложение, которое по щелчку мышью на кнопке выполняет рисование пером графика функции у = Sin(x)*Cos(x/6) на интервале Xmin = 0, Хмах = 4. Задайте толщину пера 2 пиксела, цвет линии clBlue (синий).

Создайте форму и задайте для ее свойства Caption значение «Рисование графика функции пером». Поместите в верхнюю часть формы компонент Image1 из палитры Additiona1. Ниже Image1 на форме разместите компонент Button1 из палитры Standard и задайте для его свойства Caption значение «Построить график».

Рисование графика функции пером опишите в процедуре обработчика щелчка мышью на кнопке Button1. Для этого, выбрав в окне Инспектора объектов Buttonl, на странице Events произведите двойной щелчок на пустом поле списка в событии OnClick.

Так как в процедуре обработчика события необходимо обрабатывать свойства Pen, Font, а также использовать методы LineTo, MoveTo, TextOut, вам следует изучить соответствующие разделы справочной системы Delphi.

После этого в окне Редактора кода отредактируйте текст процедуры обработчика события TForml.ButtonlClick следующим образом:

procedure TForml.ButtonlCIickCSender: TObject);
var
X,Y : real; {значения аргумента и функции}
PX,PY : longint; {координаты пикселов, соответствующих X,Y}
begin
with Image1.Canvas do
begin
Pen.Width:=1; {задать толщину пера для рисования осей координат}
Pen.Col or:=clBlack; {задать черный цвет линии}
{начертить оси координат: начало координат в точке 5,Imagel.Height div 2}
MoveTo(0,Imagel.Height div 2);
LineTo(Imagel.Width,Imagel.Height div 2); {ось х}
MoveTo(5,0);
LineTo(5,Imagel.Height); {ось у}
{рисовать график от начала координат на всю ширину Imagel}
Pen.Width:=2; {задать толщину пера для рисования графика}
Pen.Color:=clBlue; {задать синий цвет линии}
MoveTo(5,Imagel.Height div 2); {установить перо в начало координат}
for PX:=5 to Imagel.Width do begin
X:=PX*4*Pi/Imagel.Width; {вычисление значения аргумента X для масштабирования графика в соответствии с шириной Imagel}
Y:=Sin(x)*Cos(x/6); {вычисление значения функции}
PY:=Trunc(Imagel.Height-(Y+l)*Imagel.Height/2);
{вычисление координаты пиксела, соответствующей значению функции Y}
LineTo(PX.,Y): {рисование линии}
end;
Font.Size:=18; {задать размер шрифта в пунктах}
TextOut(180,20,’y=Sin(x)*Cos(x/6)’); {подписать график}
end;
end;

Изучите текст процедуры и комментарии. Сохраните текст приложения, откомпилируйте его и проверьте его работу. Щелкнув мышью на кнопке Построить график, убедитесь, что в окне приложения выполняется рисование графика заданной функции, причем цвет пикселов – синий, а толщина линии составляет 2 пиксела.

Добавить комментарий