Пропустить навигацию.
Главная

Машинная графика

Результаты работы программы, дополненные соответствующими графическими изображениями, производят гораздо большее впечатление, чем сухие колонки цифр. Размышляя о машинной графике, мы собираемся обсудить три ее аспекта. Во-первых, речь может идти об изображениях, хранящихся на дисках и полученных из различных источников — слайды, сформированные с помощью средств цифровой фото- и видеотехники, результаты работы многочисленных графических пакетов, картинки из Интернета и т.п. Такие рисунки можно размещать на поверхности некоторых объектов нашей программы, производить масштабирование изображений и выделять интересующие нас фрагменты. Второй аспект машинной графики связан с непосредственным творчеством пользователя, которому предоставляется набор инструментов для построения и раскраски различных геометрических фигур. Его характеризует диалоговый режим общения с пользователем и обработка различных событий, связанных, в основном, с мышью. Наконец, к третьей категории средств машинной графики относятся автоматические построения, выполняемые программным путем с использованием процедур соответствующей библиотеки.

Графические возможности и методы базируются на функциях графического ядра операционной системы Windows — Graphic Device Interface (GDI). Для обеспечения независимости от устройства отображения графической информации (дисплей, принтер, плоттер) библиотеки процедур GDI используют так называемый контекст устройства — Windows device context (DC). По сути дела, контекст конкретного устройства представляет собой массив в оперативной памяти, в котором хранятся параметры, управляющие процессом вывода — размеры рабочего поля, разрешающая возможность, характеристики пишущего узла (толщина и цвет пера, тип линии), режим взаимодействия выводимых пикселов с ранее построенной частью изображения и многое другое. Обилие этих деталей и учет специфики Windows затрудняют прямое использование функций GDI.

Основным преимуществом графических объектов визуальных сред является то, что они скрывают от пользователя многие нюансы взаимодействия с процедурами GDI — запрос и освобождение контекста устройства, создание и уничтожение данных типа TPen и TBrush, специфику обработки графических файлов разного формата (.bmp, .ico, .wmf, .emf) и т.п.