Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания по ПР ПМ0_Копец1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.37 Mб
Скачать

Задание 3

Написать приложение, которое показывает работу светофора по следующему циклическому алгоритму (в соответствии с номером варианта):

  1. красный −> красный + желтый −> зеленый −> мигающий зеленый

  2. красный + желтый −> желтый −> мигающий желтый −> зеленый

  3. красный −>мигающий красный −>желтый+красный −> зеленый

  4. красный + зеленый −> желтый −> мигающий желтый −> зеленый

  5. зеленый −> мигающий красный −> желтый+красный

  6. мигающий желтый −>зеленый −> мигающий зеленый −>красный

  7. мигающий зеленый −> красный + желтый −> зеленый

  8. желтый + зеленый −> зеленый −> мигающий красный

  9. мигающий зеленый −> красный −>желтый+красный

  10. мигающий зеленый −>желтый+красный −> зеленый

  11. зеленый −> красный + зеленый −>желтый+красный

  12. красный −> желтый+красный мигающий −> зеленый

  13. красный + зеленый мигающий −> желтый + зеленый −> желтый

  14. желтый+красный −> зеленый мигающий−> желтый + зеленый

  15. желтый мигающий−> зеленый мигающий−>желтый+красный

Задание 4

Создать приложение «Автопогрузчик», примерный вид формы показан на рис.5. Для кнопок описать соответствующее движение:

«Вперед» «Поднять» «Переместить» «Опустить» «Назад»

автопогрузчика с грузом до опоры

груз с подъемной платформой поднять до верха опоры

груз переместить на опору

опустить подъемную платформу

автопогрузчик без груза откатывается на исходную позицию

В процессе разработки приложения предусмотреть следующие условия работы: груз не может быть перемещен, если автопогрузчик не подведен к опоре и подъемная платформа не находится на уровне верха опоры.

Для удобства работы, возможно, осуществлять совместные действия для группы компонентов. На этапе проектирования назначают дополнительное свойство Tag отличное от нуля, но одинаковое для каждого компонента группы. Например, если необходимо перемещать группу компонентов со свойством Tag = 1 влево, то запишем следующий код:

for (int i=0; i < ComponentCount; i++) {

if (Components[i] > Tag == 1)

((TControl *)Components[i]) > Left +=1; }

Подъемная платформа Груз Опора

Рис.2 Пример заполнения формы приложение «Автопогрузчик»

Контрольные вопросы

  1. Для чего предназначен компонент Shape?

  2. Основные свойства компонента Shape?

  3. Какие подствойства имеет свойство Brush?

  4. Каковы значения подсвойства Style свойства Brush?

  5. Что определяет свойство Pen?

Практическая работа №23

Тема: «Создание рисуноков на канве».

Цель работы: Научиться создавать графические рисунки на канве.

Время выполнения: подготовка – 5 мин; выполнение – 255 мин.; проверка – 10 мин; всего – 270 мин.

Теоретические сведения

Объект Canvas – это поверхность (формы или компонента image), на которой соответствующие методы могут вычерчивать графические примитивы. Вид графических элементов определяют свойства поверхности, на которой эти элементы вычерчиваются.

Методы объекта Canvas

Метод

Описание

TextOut (х,у,s)

Выводит строку s от точки с координатами (х, у). Шрифт определяет свойство Font поверхности (canvas), на которую выводится тест, цвет закраски области вывода текста – свойство Brush этой же поверхности

Draw(x,y,b)

Выводит от точки с координатами (х, у) битовый образ b. Если значение свойства Transparent поверхности, на которую выполняется вывод, равно true, то точки, цвет которых совпадает с цветом левой нижней точки битового образа, не отображаются

LineTo (x,y)

Вычерчивает линию из текущей точки в точку с указанными координатами. Вид линии определяет свойство Реn

MoveTo(x,y)

Перемещает указатель текущей точки в точку с указанными координатами

PolyLine (pi)

Вычерчивает ломаную линию. Координаты точек перегиба задает параметр р1 – массив структур типа TPoint. Если первый и последний элементы массива одинаковы, то будет. вычерчен замкнутый контур. Вид линии определяет свойство Реn

Polygon (pi)

Вычерчивает и закрашивает многоугольник. Координаты углов задает параметр p1 – массив структур типа TPoint. Первый и последний элементы массива должны быть одинаковы. Вид границы определяет свойство Реп, цвет и стиль закраски внутренней области – свойство Brush

Ellipse (x1,y1,x2,y2)

Вычерчивает эллипс, окружность или круг. Параметры x1, y1, х2 и у2 задают размер прямоугольника, в который вписывается эллипс. Вид линии определяет свойство Реn

Arc(x1, y1,x2, y2, х3,у3,х4,у4)

Вычерчивает дугу. Параметры x1, y1, x2, у2 определяют эллипс, из которого вырезается дуга, параметры х2, у2, х3, и у4 – координаты концов дуги. Дуга вычерчивается против часовой стрелки от точки (х3, у3) к точке (х4, у4). Вид линии (границы) определяет свойство Реn, цвет и способ закраски внутренней области – свойство Brush

Rectangle (x1, y1, х2,у2)

Вычерчивает прямоугольник. Параметры x1, y1, x2 и у2 задают координаты левого верхнего и правого нижнего углов. Вид линии определяет свойство Реп, цвет и способ закраски внутренней области – свойство Brush

RoundRec (x1, y1, х2,у2, х3,у3)

Вычерчивает прямоугольник со скругленными углами. Параметры x1, y1, х2 и у2 задают координаты левого верхнего и правого нижнего углов, х3 и у3 – радиус скругления. Вид линии определяет свойство Реn, цвет и способ закраски внутренней области – свойство Brush

Свойства объекта Canvas

Свойство

Описание

Transparent

Признак использования "прозрачного" цвета при выводе битового образа методом Draw. Если значение свойства равно true, то точки, цвет которых совпадают с цветом левой нижней точки битового образа, не отображаются

Pen

Свойство Реn представляет собой объект, свойства которого определяют цвет, толщину и стиль линий, вычерчиваемых методами вывода графических примитивов

Brush

Свойство Brush представляет собой объект, свойства которого определяют цвет и стиль закраски областей, вычерчиваемых методами вывода графических примитивов

Font

Свойство Font представляет собой объект, уточняющие свойства которого определяют шрифт (название, размер, цвет, способ оформления), используемый для вывода на поверхность холста текста

Свойства объекта Реn

Свойство

Описание

Color

Цвет линии (clBlack – черный; clMaroon – каштановый; clGreen – зеленый; clOlive – оливковый; clNavy – темно-синий; clPurple – розовый; clTeal – зелено-голубой; clGray – серый; clSilver – серебристый; clRed – красный; clLime – салатный; clBlue – синий; clFuchsia – ярко-розовый; clAqua – бирюзовый; clWhite – белый)

Style

Стиль (вид) линии. Линия может быть: psSolid – сплошная; psDash – пунктирная (длинные штрихи); psDot – пунктирная (короткие штрихи); psDashDot – пунктирная (чередование длинного и короткого штрихов); psDashDotDot – пунктирная (чередование одного длинного и двух коротких штрихов); psClear – не отображается (используется, если не надо изображать границу, например, прямоугольника)

Width

Толщина линии задается в пикселах. Толщина пунктирной линии не может быть больше 1

Свойства объекта Brush

Свойство

Определяет

Color

Цвет закрашивания замкнутой области

Style

Стиль (тип) заполнения области (bsSolid – сплошная заливка; bsClear – область не закрашивается; bsHorizontal – горизонтальная штриховка; bsVertical – вертикальная штриховка; bsFDiagonal – диагональная штриховка с наклоном линий вперед; bsBDiagonal – диагональная штриховка с наклоном линий назад; bsCross – горизонтально-вертикальная штриховка, в клетку; bsDiagCross – диагональная штриховка, в клетку)

Доступ к канве любого обьекта происходит следующим образом:

имя_обьекта->Canvas->Свойство/Метод;

Канва, в ее графическом представлении, это двумерный массив пикселей. Каждый элемент этого массива хранит в себе информацию о цвете. Доступ к отдельно взятому пикселю можно получить из свойства Pixels, подробнее о котором будет написана ниже.

Точка (0,0) - эта верхний левый угол канвы. Значение по x-координате возрастает слево навправо от точки (0,0), а значение по y-координате сверху вниз.

Задание 1

Создайте приложения, представленные на рисунках.

Рис.1 Приложение «Флаг РФ»

Рис.2 Приложение «Олимпийские кольца»

Задание 2

Создайте поздравительную открытку, например с Новым годом. Добавьте к ней анимацию (мигающие шарики на ёлке, падающие снежинки и др.).

Задание 3

Создайте приложение, вид которого представлен на рис. 3.

Рис. 3 Вид приложеия

В приложении, кроме общего вида необходимо создать иллюзию движения транспорта. Машины так же, как и их цвет появляются рандомно. Машины должны двигаться по всем четырем рядам. Когда очередная машина достигает «конца» шоссе, то появляется следующая с другим цветом.

Контрольные вопросы

  1. Что такое объект Canvas?

  2. Какой метод Выводит строку s от точки с координатами (х, у)?

  3. Какой метод выводит от точки с координатами (х, у) битовый образ b?

  4. Какой метод вычерчивает линию из текущей точки в точку с указанными координатами?

  5. Какой метод вычерчивает и закрашивает многоугольник?

  6. Какой метод Вычерчивает эллипс, окружность или круг?

  7. Какой метод вычерчивает дугу?

  8. Какой метод вычерчивает прямоугольник?

  9. Какой метод вычерчивает прямоугольник со скругленными углами?

  10. Объект, свойства которого определяют цвет, толщину и стиль линий, вычерчиваемых методами вывода графических примитивов?

  11. Объект, свойства которого определяют цвет и стиль закраски областей, вычерчиваемых методами вывода графических примитивов?

  12. Объект, уточняющие свойства которого определяют шрифт (название, размер, цвет, способ оформления), используемый для вывода на поверхность холста текста?