Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Case RadioGroup1.ItemIndex of

Лабораторная работа №22

Графические компоненты

План работы:

1. Проект “Декартова система координат”

Разработать проект, рисующий декартову систему координат. На этапе выполнения форма должна иметь следующий вид:

a) Создайте новый проект в Delphi и сохраните его в отдельной папке “Декартова система координат”;

b) Разместите на форме со страницы System компонент PaintBox. Данный компонент имеет канву – пространство для создания графических объектов – и позволяет рисовать на ней, а также облегчает располагать рисунки в области формы.

c) Разместите на форме кнопку “Оси координат”, в событии OnCreate этой кнопки реализуйте рисование декартовой системы координат на компоненте PaintBox, подпись осей и начала системы координат, используя следующие методы класса TCanvas:

· MoveTo(x, y) – перемещение в точку с указанными координатами;

· LineTo(x', y') – рисование линии от текущей точки (x, y) до следующей точки с координатами (x', y');

· TextOut(x, y, ‘текст’) – вывод текста в указанную позицию (x, y);

Пример рисования оси y:

PaintBox1.Canvas.MoveTo(round(PaintBox1.Width/2), 0);

PaintBox1.Canvas.LineTo(round(PaintBox1.Width/2),

PaintBox1.Height);

Для изменения цвета осей и заливки использовать свойства Pen и Brush класса TCanvas.

d) Разместите на форме кнопку “Мигающая точка”. В обработке события OnClick этой кнопки установить символ мигающей 10 раз точки в первой четверти декартовой системы координат следующим образом:

for i:= 1 to 10 do

Begin

{Используем свойство Pixels для установки точки с определенными координатами и определенным цветом, метод random используем для случайного выбора цвета}

PaintBox1.Canvas.Pixels[X, Y]:= random(16077100);

{Устанавливаем временную задержку}

sleep(500);

{“Гасим” точку}

PaintBox1.Canvas.Pixels[X, Y]:= PaintBox1.Color;

sleep(500);

end;

e) Поместите на форму компонент RadioGroup, оформите его внешний вид в соответствии с требуемым.

f) Измените стиль линий при рисовании декартовой системы координат, используя метод Style класса TPen, для этого процедуру обработки события OnClick по кнопке “Оси координат” дополнить следующим фрагментом:

case RadioGroup1.ItemIndex of

0: PaintBox1.Canvas.Pen.Style:= psSolid;

1: PaintBox1.Canvas.Pen.Style:= psDash;

2: PaintBox1.Canvas.Pen.Style:= psDot;

3: PaintBox1.Canvas.Pen.Style:= psDashDot;

end;

g) Проверьте работу проекта.

2. Проект “Летающая тарелка”

Разработать проект, рисующий летающую тарелку на фоне звездного неба и её перемещение. На этапе выполнения форма должна иметь следующий вид:

a) Создайте новый проект в Delphi и сохраните его в отдельной папке “Летающая тарелка”;

b) Разместите на форме компонент Image, кнопки “Звездное небо”, “Тарелка”, “Полет”;

c) В обработке события OnClick кнопки “Звездное небо” нарисуйте на компоненте Image аналог звездного неба по следующим этапам:

· Установить темно-синий цвет заливки для компонента Image;

· Нарисовать по всему параметру компонента Image прямоугольник методом Rectangle;

· Нарисовать 400 точек, координаты и цвет которых выбираются случайным образом;

d) В обработке события OnClick кнопки “Тарелка” нарисуйте в верхнем левом углу компонента Image аналог летающей тарелки по следующим этапам:

· Установить серебристый цвет заливки компонента Image;

· Установить черный цвет пера компонента Image;

· Нарисовать эллипс с помощью метода Ellipse класса TCanvas:

Ellipse(x1, y1, x2, y2) – рисует эллипс, где x1, y1, x2, y2 – точки, определяющие прямоугольник, описывающий эллипс;

· Нарисовать дугу с помощью метода Arc класса TCanvas:

Arc(x1, y1, x2, y2, x3, y3, x4, y4) – рисует дугу, где x1, y1, x2, y2 – точки, определяющие прямоугольник, описывающий эллипс, x3, y3 – точка начала дуги, x4, y4 – точка конца дуги, дуга рисуется против часовой стрелки;

· Установить красный цвет заливки компонента Image;

· Левый “глаз” (прямоугольник) нарисовать с помощью метода Rectangle класса Canvas;

· Средний “глаз” нарисовать с помощью метода Rectangle и залить методом FloodFill желтым цветом;

· Нарисовать правый “глаз” зеленым цветом;

· Нарисовать две серебристые антенны с фиолетовым и голубым шариком;

e) Для организации перемещения тарелки из верхнего левого угла в нижний правый угол компонента Image выполнить следующее:

· Скопировать все операторы процедуры обработки события OnClick по кнопке “Тарелка” в отдельную процедуру Polet, в которой описать 2 входных параметра для задания смещения по оси x и y соответственно:

procedure Polet(x, y: integer);

· В каждом операторе процедуры Polet, содержащем координаты, прибавить к аргументам значения x или y соответственно;

f) В обработке события OnClick кнопки “Полет” организовать перемещение тарелки из верхнего левого угла в нижний правый угол компонента Image следующим образом:

{dx, dy - локальные переменные процедуры, рассматриваемой выше, содержащие смещения тарелки по оси x и y соответственно}

dx:= 0;

dy:= 0;

{пока dx меньше определенной величины (такой, чтобы тарелка не вылетала за рамки компонента Image), выполнять следующие действия}




Дата добавления: 2015-09-11; просмотров: 85 | Поможем написать вашу работу | Нарушение авторских прав

<== предыдущая лекция | следующая лекция ==>
Ковариация и коэффициент корреляции случайных величин.| Графические компоненты

lektsii.net - Лекции.Нет - 2014-2025 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав