Графические функции GDI и средства GDI
Программирование в среде WINDOWS.
Введение.
Вся внутренняя деятельность системы Windows в значительной степени базируется на трех подсистемах:
системе графического приборного интерфейса;
системе обеспечения многозадачного режима;
системе обеспечения аппаратной независимости.
Эти системы предъявляют определенные требования к форме и содержанию программ, работающих под Windows. Невыполнение таких требований ведёт к неправильному функционированию программы, зачастую и к нарушению работы всей системы Windows. Поэтому следует кратко остановиться на принципах работы каждой из этих систем.
Графический Приборный Интерфейс.
Графический приборный интерфейс, или GDI (Graphics Device Interf/асе), является связующим звеном между программой и графическим устройством вывода и служит для представлении программой визуально ориентированной информации пользователю. GDI представляет собой библиотеку процедур, которые обеспечивают создание графического интерфейса и управление им. Эта библиотека доступна как для Windows так и для любой прикладной программы.
Display Context.
Функции GDI работают с различными устройствами ввода. При этом имеется необходимость хранения большого количества информации о данном устройстве вывода, его состоянии, а также о текущих графических средствах, используемых программой. Вся эта информация хранится в специально организованной структуре данных, которая называется dispaly context или device context.
Использование DC обусловлено следующими причинами. Прежде .всего, в каждый конкретный момент времени используется лишь небольшая часть возможностей, Рассмотрим качестве примера рисование прямоугольника. Для того чтобы полностью контролировать представление прямоугольника на охране, следует определить его положение в окне. Нужно также определить цвет и границы прямоугольника. Далее программист может пожелать переопределить вид границы (например, сделать ее непрерывной или пунктирной линией). Дополнительно следует определить, валяется ли прямоугольник закрашенным и если да, то каким цветом. И, наконец, программа должна управлять взаимодействием прямоугольника с уже существующими ив экране рисунками.
Вес графические средства в Windows являются немодифицируемыми, прикладная программа не может полностью заменить тот или иной объект в DC во другой. Поскольку несколько программ могут одновременно использовать одни и те же графические средства, система не допускает их изменения и гарантирует каждой программе постоянство используемых графических средств ресурсов.
Очень важными являются понятия отсекание.
В системе Windows для любого открытого на экране окна существует вероятность соседства (или даже перекрали») с одним или несколькими окнами. GDI управляет своими функциями таким образом, чтобы не допустить графического вывода вне границ окна, которое использует функции GDI. Более того, GDI обеспечивает графический вывод в пределах рабочей области окна, чтобы не нарушить графические объекты нерабочей области. Такой подход и называется отсеканием. Действие функций графического вывода ограничено областью отсекания. Windows устанавливает параметры области отсекания перед передачей его прикладной программе. Как уже отмечалось, в Windows для программы имеются две возможности получения доступа к DC: функции BeginPalnt и GeiDC. При использовании функции BeginPaiot размеры области отсекания устанавливаются так, чтобы содержать именно тот участок рабочей области окна, который должен быть обновлен. В случае использования функции GetDC область отсекания охватывает всю рабочую область окна. Программа может использовать функции GDI для изменения размеров области отсекания, но она не в состоянии сделать область отсекания больше видимой части рабочей области окна. Таким образом, Windows охраняет множественные окна от вмешательства в дела (т.е. рабочие области) друг друга.
Хотя Windows самостоятельно проводит всю работу, связанную с изменением размеров окна, программа может реагировать на увеличение или уменьшение размеров окна по-разному. Эта разница в реакции программы на изменение размеров окна называется, масштабированием.
Возможность масштабирования является необходимой для Windows, поскольку позволяет использовать одни и тс же графические функции, независимо от размеров окна.
В Window существуют 8 методов (режимов) масштабирования.
Графические функции GDI и средства GDI
Графические функции GDI включают в себя следующие функции: определение положения внутри рабочей области, операции с единичными точками экрана, рисование текста, линии и фигур, заполнение фигур и областей, манипулирование битовыми массивами и рисование пиктограмм в рабочей области.
Следует отмстить, что все графические функции GDI в той или иной мере используют графические средства, или ресурсы, имеющиеся а Windows. Windows располагает определенным набором предопределенных графических средств, которые могут быть использованы в программе (например, перо для рисования черной непрерывной линии или системный шрифт). Кроме того, программист может создавать с помощью функций Windows и специальных программ свои собственные графические средства, например, шрифты. Но, независимо от источника возникновения, все графические средства должны находиться в DC, чтобы графические функции GDI могли их использовать. В DC имеется возможность хранения только одного экземпляра каждого графического средства.
Дата добавления: 2016-07-22; просмотров: 3457;