
- •Лабораторная работа №1 Использование встроенных функций компонента «Художник»
- •Краткая теория
- •Порядок выполнения
- •Задание
- •Контрольные вопросы
- •Лабораторная работа №2 Пользовательские функции
- •Краткая теория
- •Порядок выполнения
- •Задание
- •Контрольные вопросы
- •Лабораторная работа №3 События
- •Краткая теория
- •Порядок выполнения
- •Задание
- •Контрольные вопросы
- •Лабораторная работа №4 Работа с таймером
- •Краткая теория
- •Порядок выполнения
- •Задание
- •Контрольные вопросы
- •Лабораторная работа №5 Массивы
- •Кратная теория
- •Порядок выполнения
- •Задание
Лабораторная работа №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);