Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л_12 (2 пары) Графика+.doc
Скачиваний:
22
Добавлен:
05.11.2018
Размер:
233.98 Кб
Скачать

МИНИСТЕРСТВО ПО НАУКЕ И ОБРАЗОВАНИю РФ

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

«Национальный исследовательский

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

УТВЕРЖДАЮ

Директор ИК

_____________ М.К. Сонькин

«____»_____________2011 г.

Т.Е. Мамонова Лабораторная работа № 12

Графика в C++

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

по курсу «Информатика»

для студентов направлений 220000 – «Мехатроника и робототехника»,

220700 – «Автоматизация технологических процессов и производств».

Издательство

Томского политехнического университета

2011

УДК 519.6

ББК 00000

А00

Мамонова Т.Е.

А00 Графика в C++. Методические указания по выполнению лабораторных работ по курсу «Информатика» для студентов I курса, обучающихся по направлениям 220000 – «Мехатроника и робототехника», 220700 – «Автоматизация технологических процессов и производств» / Т.Е. Мамонова. – Томск: Изд-во Томского политехнического университета, 2011. –18 с.

УДК 519.6

ББК 00000

Методические указания рассмотрены и рекомендованы к изданию методическим семинаром кафедры интегрированных

компьютерных систем управления ИК

«1» сентября 2011 г.

Зав. кафедрой ИКСУ

доктор технических наук ______________ А.М. Малышенко

Председатель учебно-методической

комиссии ______________ В.Н. Шкляр

Рецензент

Доцент ИКСУ ИК НИ ТПУ кандидат технических наук

В.Н. Шкляр

© ГОУ ВПО «Томский политехнический

университет», 2011

© Мамонова Т.Е., 2011

© Оформление. Издательство Томского

политехнического университета, 2011

Лабораторная работа № 12

Графика в C++

Цель работы. Научиться использовать графические функции библиотеки BGI в С++.

Теоретическая часть

Для работы в графическом режиме на компьютере должен быть установлен один из графических адаптеров и монитор, соответствующий этому типу адаптера. Управление экраном в графическом режиме происходит с помощью функций, прототипы которых описаны в заголовочном файле <graphics.h>. Прежде чем использовать графические функции, необходимо установить видеоадаптер в графический режим. Для инициализации графики служит функция initgraph. Ее прототип:

void initgraph (int *driver,int *mode,char *path);

Эта функция считывает в память соответствующий драйвер, устанавливает графический режим, соответствующий аргументу mode и определяет маршрут к папке, в которой находится драйвер BGI. В таблице 1 представлены коды драйверов графических устройств.

Таблица 1. Коды драйверов графических устройств.

Макрос

Значение

DETECT

0

CGA

1

MCGA

2

EGA

3

EGA64

4

EGAMONO

5

IBM8514

6

HERCMONO

7

ATT400

8

VGA

9

PC3270

10

При использовании функции initgraph можно указать или конкретный драйвер, или задать автоматическое определение (детектирование) соответствующего драйвера (макрос DETECT).

Функция mode устанавливает код графического режима. Для каждого драйвера (VGA, CGA, MCGA, EGA, ATT400 ...) существует таблица кодов со значениями от 0 до 5 (см. табл. 2.)

Таблица 2. Коды для драйвера VGA

Имя

Значение

Размер поля

Палитра

VGALO

0

640200

16 цветов

VGAMED

1

640350

16 цветов

VGAHI

2

640480

16 цветов

Программы, работающие с графикой BGI, выполняются как DOS приложения. Поэтому для создания программ, использующих графические функции библиотеки BGI, в интегрированной среде Borland C++ необходимо воспользоваться проектом.

Проект – это файл с расширением ”.ide”, в котором определены файлы с исходным текстом программы вместе с указанием полных путей к ней, а также выходной ”.exe” файл. Кроме того, в нем перечислены Borland библиотеки, используемые при трансляции программы. Для выхода из графического режима используются функции:

closegraph( ); //закрыть графический режим;

restorecrtmode( );//перейти в текстовый режим.

Графический экран представляет двумерный массив пикселей. Каждый пиксель соответствует одной точке экрана, имеет две координаты x, y и может иметь свой цвет. Левый верхний пиксель имеет координаты (0,0). Установить цвет пикселя в точке с координатами (х, у) можно с помощью функции:

putpixel (int x, int y, int color);