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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Курганский государственный университет»

Кафедра программного обеспечения автоматизированных систем

Компьютерная графика

Методические указания

к выполнению лабораторных и контрольных работ

для студентов направления (специальности)

09.3.04 – «Программная инженерия»

Курган 2016

Кафедра: «Программное обеспечение автоматизированных систем»

Дисциплина: «Программная инженерия» (09.03.04)

Составил: канд. техн. наук, доцент А.М. Семахин

Утверждены на заседании кафедры « » 2016 г.

Рекомендованы методическим советом университета

« » 2016 г.

Лабораторная работа №1 Графические примитивы

Цель работы: Получить теоретические знания и практические навыки в использовании Microsoft Visual C++ 2010 для формализации приложения графические примитивы.

Используемые приемы и технологии: Visual C++ 2010 Professional, Microsoft Visual Studio 6, библиотеки графических интерфейсов Windows Forms (WF) и Microsoft Foundation Classes (MFC).

Ключевые термины: среда программирования MS Visual Studio 2010, MS Visual Studio 6, общеязыковая среда исполнения (Common Language Runtime (CLR)), Visual C++.NET, Windows Forms, Microsoft Foundation Classes Library.

Теоретическое обоснование: Графический примитив - простейший геометрический объект, отображаемый на экране дисплея или на рабочем поле графопостроителя: точка, отрезок прямой, дуга окружности или эллипса, прямоугольник и т.п. Из графических примитивов строятся сложные графические изображения.

Задание

Разработать приложение, формализующее графические примитивы, используя WF и MFC .

Последовательность выполнения задания

1.1 Windows Forms

1. Запустить среду программирования Visual C++ 2010 (рис.1).

2. В меню Файл выбрать команду Создать ->Проект (рис.2).

3. В окне Создать проект выбрать тип приложения CLR и вид приложения Windows Forms (рис.3 ).

4. В поле имя проекта ввести Program_1. Нажать кнопку <OK> (рис. 4).

5. Панель элементов <Ctrl-Alt-X>. Выбор элемента ListBox (рис. 5).

6. Разместить элемент ListBox на форме (рис. 6).

7. Двойной щелчок кнопкой мышкой в пределах формы. Заполнить обработчик события загрузки формы .

private: System:: Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {}

8. Двойной щелчок кнопкой мышкой в пределах элемента ListBox. Заполнить обработчик private: System::Void listBox1_SelectedIndexChanged_1 (System::Object^ sender, System::EventArgs^ e) {}.

Рис.1. Среда программирования Visual C++ 2010 Professional

Программный код

#pragma endregion

// Программа позволяет рисовать в форме графические приитивы:

// окружность, отрезок, прямоугольник, сектор, текст, эллипс

// закрашенный сектор. Выбор того или иного графического примитива

// осуществляется с помощью элемента управления ListBox

private: System::

Void Form1_Load(System::Object^ sender, System::EventArgs^ e)

{

this->Text="Выберите графический примитив";

listBox1->Items->AddRange(gcnew array<Object^> {"Окружность", "Отрезок",

"Прямоугольник", "Сектор", "Текст", "Эллипс", "Закрашенный сектор"});

Font=gcnew System::Drawing::Font("Times New Roman", 14.F);

}

private: System::Void listBox1_SelectedIndexChanged_1 (

System::Object^ sender, System::EventArgs^ e)

{

// Здесь вместо этого события можно было бы обработать событие listBox1_Click

// Создание графического объекта

Graphics^ Графика=this->CreateGraphics();

// Создание пера для рисования фигур

Pen^ Перо=gcnew Pen(Color::Red);

// Создание кисти для закрашивания фигур

Brush^ Кисть=gcnew SolidBrush(Color::Red);

// Очистка области рисования путем ее окрашивания

// в первоначальный цвет формы

Графика->Clear(SystemColors::Control);

// или Графика->Clear(Color::FromName("Control"));

// или Графика->Clear(ColorTranslator::FromHtml("#EFEBDE"));

switch(listBox1->SelectedIndex) // Выбор фигуры

{

case 0: // Выбрана окружность

Графика->DrawEllipse(Перо, 50, 50, 150, 150); break;

case 1: // Выбран отрезок

Графика->DrawLine(Перо, 50, 50, 200, 200); break;

case 2: // Выбран прямоугольник

Графика->DrawRectangle(Перо, 50, 30, 150, 180); break;

case 3: // Выбран сектор

Графика->DrawPie(Перо, 40, 50, 200, 200, 180, 225); break;

case 4: // Выбран текст

Графика->DrawString("Работаем с графическими примитивами\n"+

"Курганский государственный университет", Font, Кисть, 10, 100); break;

case 5: // Выбран эллипс

Графика->DrawEllipse(Перо, 30, 30, 150, 200); break;

case 6: // Выбран закрашенный сектор

Графика->FillPie(Кисть, 20, 50, 150, 150, 0, 45); break;

} } };

}

9. Откомпилировать. Устранить ошибки. Запустить программу на выполнение (рис.8) – (рис.14).

Рис.2. Команда Файл -> Создать -> Проект

Рис.3. Выбор типа и вида приложения

Рис.4. Создание каркаса приложения (проекта)

Рис. 5. Компонент ListBox

Рис. 6. Размещение элемента ListBox на форме

Рис. 7. Программный код

Рис. 8. Графический примитив окружность

Рис. 9. Графический примитив отрезок

Рис. 10. Графический примитив прямоугольник

Рис. 11. Графический примитив сектор

Рис. 12. Графический примитив текст

Рис. 13. Графический примитив эллипс

Рис. 14. Графический примитив закрашенный сектор

1.2 Microsoft Foundation Classes

Разработать программу, которая позволяет рисовать на экране рисунки прямыми линиями, сохранять в файл, загружать и выводить на печать. Заданием координат начальной и конечной точек производится с помощью указателя мышки (нажатие левой кнопки).