- •Цель работы
- •Краткие теоретические положения Объекты и классы. Понятие объекта-экземпляра класса
- •Создание объектов из класса
- •Невидимый код
- •Графические объекты. Класс Graphics
- •Простейшие графические фигуры
- •Вывод надписей
- •2. Оборудование
- •3. Задание на работу
- •Порядок выполнения работы
- •Оформление отчета
- •Библиографический список
Графические объекты. Класс Graphics
Изображения на форму можно наносить двумя способами. Можно использовать изображения, сохраненные в графических файлах, а можно рисовать линии и другие фигуры программным способом.
Для обеспечения возможности рисования VС++ имеет специальный класс Graphics, расположенный в пространстве имен System::Drawing. Его код и содержит методы для рисования фигур и других лействий с графикой.
Возможности класса Graphics можно использовать, только создав объект из этого класса. Изображения можно выводить на форме, кнопке, текстовом поле, графическоом поле PictureBox, на других элементах управления. Для каждой формы или объекта управления, на котором мы хотим рисовать, должен быть создан свой объект класса Graphics.
Рассмотрим пример (Пример программы №2). Пусть необходимо нарисовать на форме отрезок прямой лини синего цвета между точками с координатами (50;20) и (200; 100).
Создайте новый проект. Разместите на форме кнопку с надписью «Нарисовать линию». Напишите такой код функции нажатия на эту кнопку:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{Graphics^ Graph;
Graph = this->CreateGraphics();
Graph->DrawLine(Pens::Blue, 50, 20, 200, 100);
}
С охраните проект и запустите его. Нажмите на кнопку «Нарисовать линию». Должен получиться пример такой результат, как на рисунке.
Изучим эту функцию более подробно.
В первой строке функции объявляется объект класса Graphics:
Graphics^ Graph;
Далее нужно этот объект создать. Нам уже известно, что объекты могут быть могут быть созданы с помощью ключевого слова gcnew. Однако для объекта класса Graphics необходимо воспользоваться другим способом. У формы и элементов управления есть специальный метод CreateGraphics, при помощи которого каждый элемент управления или форма создает свой собственный объект класса Graphics. Именно поэтому вторая строка нашей процедуры содержит инструкцию
Graph = this->CreateGraphics();
Объект c названием Graph создан. Поскольку он создан методом CreateGraphics, принадлежащим форме, он сможет рисовать только на ней.
Теперь можно рисовать. Для этого воспользуется методом DrawLine объект Graph.
Graph->DrawLine(Pens::Blue, 50, 20, 200, 100);
Четыре числа в качестве последних аргументом метода DrawLine – это координаты двух точек, между которыми проводится отрезок. (Координата (0; 0) – это левый верхний угол формы). А аргумент Pens::Blue определяет цвет линии.
Линии фигур VC++ чертим пером. Существует специальный класс Pens (перья), содержащий несколько десятков перьев разных цветов.
Простейшие графические фигуры
Познакомимся с некоторыми методами класса Graphics.
Метод DrawLine позволяет нарисовать отрезок прямой. Его синтаксис:
Object->DrawLine (pen, x1, y1, x2, y2);
Метод DrawRectangle позволяет нарисовать прямоугольник по положению левого верхнего угла, ширине и высоте. Его синтаксис:
Object->DrawRectangle (pen, x, y, width, height);
Например:
Graph->DrawRectangle(Pens::Black, 10, 10, 100, 50);
Метод DrawEllipse позволяет нарисовать эллипс, вписанный в невидимый прямоугольник заданного размера. Синтаксис метода:
Object->DrawEllipse (pen, x, y, width, height);
Например:
Graph->DrawEllipse(Pens::Aqua, 10, 60, 100, 50);