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

Лабораторная работа №1 Использование встроенных функций компонента «Художник»

Цель работы: освоить работу со встроенными функциями программы «Художник»

Оборудование: персональный компьютер, Microsoft Visual Studio 2010

Краткая теория

Программа «Художник» представляет из себя windows-форму (рисунок 1) состоящую из холста размером 320 на 240 пикселей и кнопки «Рисуем», при нажатии на которую, выполняется код рисования картинки на холсте.

Рисунок 1 – Окно программы «Художник»

Главным элементом программы является компонент ePaper, имеющий в своем распоряжении следующие свойства и методы:

    • Paper.PaperColor – свойство задает цвет фона холста;

    • Paper.PenColor – свойство задает цвет пера для рисования;

    • Paper.ClearBackBufer() – метод, очищающий задний буфер, на котором происходит отрисовка отображения;

    • Paper.Flip() ­– метод, меняющий местами передний и задний буфер;

    • Paper.PenUp() – метод, поднимающий перо;

    • Paper.PenDown() – метод, опускающий перо;

- Paper.PenMove(int x, int y) – метод, перемещающий перо по холсту. Этот метод принимает при вызове два аргумента, задающих смещение пера. Аргумент x отвечает за смещение пера по горизонтали, аргумент y - по вертикали. При положительных значениях аргументов x и y перо будет смещаться вправо и вниз, при отрицательных – влево и вверх.

Рисунок 2 – Система координат в программе «Художник»

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

В качестве первого примера ниже приведен листинг программы, рисующий квадрат в центре холста со сторонами в 100 пикселов.

Пример № 1:

Paper.PaperColor = Color.White; // задание цвета фона холста

Paper.ClearBackBufer(); Paper.PenColor = Color.Brown; // задание цвета пера

Paper.PenMove(160, 70); // перемещение пера

Paper.PenDown(); // перо опускается

Paper.PenMove(-50, 0);

Paper.PenMove(0, 100);

Paper.PenMove(100, 0);

Paper.PenMove(0, -100);

Paper.PenMove(-50, 0);

Paper.Flip();

После выполнения данного кода в центре холста программы будет нарисован квадрат со сторонами 100 пикселов (рисунок 3).

Рисунок 3 – Результат выполнения примера 1

Подробнее разберем данный пример. В начале примера задаются цвета холста и пера соответственно. Затем находится точка, являющейся центром компонента ePaper. Так как известно, что размеры компонента составляют 320 пикселей по ширине и 240 по высоте, то выходит, что центром будет служить точка с координатами (160; 120) (Рисунок 4).

Затем перо перемещается на половину стороны квадрата вверх, чтобы его центр совпадал с центром холста. После этого перо опускается на холст (Рисунок 5). Это соответствует приведенному ниже коду:

Paper.PaperColor = Color.White; // задание цвета фона холста Paper.PenColor = Color.Brown; // задание цвета пера

Paper.PenMove(160, 70); // перемещение пера

Paper.PenDown(); // перо опускается

Рисунок 4 – Точка М с координатами (160; 120), соответствующая центру холста

Рисунок 5 – Точка, с которой начинается рисование на холсте

В конце, при помощи последовательных вызовов функции Paper.PenMove() на холсте рисуется квадрат размером 100 на 100 пикселей. В примере это соответствует следующим строкам кода:

Paper.PenMove(-50, 0);

Paper.PenMove(0, 100);

Paper.PenMove(100, 0);

Paper.PenMove(0, -100);

Paper.PenMove(-50, 0);