Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
System programming / Методические указания / Методичка к лабораторным работам (рус).doc
Скачиваний:
52
Добавлен:
08.05.2015
Размер:
218.11 Кб
Скачать

3.5. Контрольные вопросы и задания

  1. Дайте определение контекста устройства.

  2. Раскройте суть понятия «описатель контекста устройства». Для чего он предназначен?

  3. Какими способами можно получить описатель контекста устройства?

  4. Чем отличается использование функций GetDC, ReleaseDC и BeginPaint, EndPaint?

  5. Каким образом можно изменить шрифт, используемый в данном контексте?

  6. В чем отличие растровых шрифтов и шрифтов «true type»?

  7. Какие атрибуты контекста устройства и текста Вы знаете?

  8. Что такое «кисть» и «фон»? Для чего они предназначены и каким образом они задаются?

  9. Какие функции вывода текста Вы знаете?

  10. Дайте характеристику метрическим параметрам текста. Каким образом получить информацию о текущих метрических параметрах текста?

  11. Что понимается под рабочей и клиентской областью окна приложения?

4. Графический интерфейс пользователя (graphical user interface, gui)

4.1. Цель работы

Ознакомление с концепцией и элементами графического интерфейса пользователя (GUI), принципами формирования графики на растровом экране дисплея, получение практических навыков по составлению, написанию и отладке программ, осуществляющих графический вывод текста, точечной и векторной графики.

4.2. Указания по подготовке к выполнению лабораторной работы

Необходимо изучить концепцию графического интерфейса устройства (GDI), его структуру, основные типы функций и примитивов GDI, структуру информации о цветах, атрибутах, шрифтах контекста устройств, принципы их формирования и изменения.

При подготовке к работе необходимо изучить конспект лекций по указанной теме, методические указания, а также разделы, указанные в [16, c.94-247], [17, c.19-32].

4.3. Сущность работы

Для рисования в рабочей области вашего окна используйте функции графического интерфейса устройства GDI. Одна из основных задач GDI – поддержка аппаратно-независимой графики. Функции GDI позволяют манипулировать как с пиксельной, так и векторной графикой.

В своей основе функции GDI могут быть разбиты на несколько крупных групп.

  • Функции, которые получают (или создают) и освобождают (или уничтожают) указатели контекстов устройств. Данные функции подробно рассматривались в п.3 данных методических указаний.

  • Функции, которые получают информацию о контекстах устройства (см. выше).

  • Функции рисования. Наиболее часто используемые из них – MoveToEx (перемешение пера в новые координаты), LineTo (рисование линии), PolyLineTo (рисует ломаную линию по координатам точек), Rectangle (рисует прямоугольник), Ellipse (рисует эллипс), PolyBezier (рисует сплайны Безье), функции работы с полигонами – CreateRectRgn, CreateEllipticRgn, CreatePolygonRgn, CombineRgn, FillRgn, FrameRgn, функции работы с битовыми образами – CreateDIBitmap, SetDIBitmap, GetDIBits, CreateBitmap, SetBitmapBits, BitBlt, StretchBlt, PatBlt.

  • Функции, которые устанавливают и получают атрибуты контекста устройства, которые устанавливают различные особенности работы функций рисования. Например, SetTextColor, SetTextAlign.

  • Функции, которые работают с объектами GDI. К ним относятся функции работы с перьями (CreatePen, CreatPenIndirect), фоном (SetBkColor,GetBkColor, CreateSolidBrush, CreateHatchBrush, CreateBrushIndirect), функции управления объектами: GetStockObject, SelectObject, DeleteObject.

Пользуясь данными функциями можно работать со следующими типами графических объектов (примитивами):

  • Линии и кривые. GDI поддерживает прямые линии, прямоугольники, эллипсы, дуги, сплайны Безье.

  • Закрашенные области. Если набор прямых и кривых линий ограничивает со всех сторон некоторую область, то она может быть закрашена с использованием объекта GDI «кисть» (brush). Эта кисть может быть сплошной, штриховой или шаблонной.

  • Битовые (растровые) образы – двумерные массивы битов, соответствующие пикселям устройства отображения. Битовые образы используются для отображения картинок, курсоров мыши, иконок, кнопок панели инструментов и т.п.

  • Текст. Операционная система поддерживает множество функций работы с текстом, шрифтами.

  • Метафайлы – набор вызовов команд GDI, сохраненный в файловом виде. Используются для хранения и передачи векторной графики.

  • Регион – сложная область, состоящая из любых фигур.

  • Путь – набор отрезков и кривых. Могут использоваться для рисования, закрашивания и при отсечении.

  • Отсечение – некоторая область, ограничивающая пространство для графического вывода.

  • Палитра – набор цветов для рисования.