Это стандарт ISO на интерфейс между аппаратно-независимой частью графического программного обеспечения (базисной графической системой) и аппаратно-зависимой (драйверами). Этот интерфейс ранее (в рамках ANSI) назывался интерфейсом виртуального устройства.
Для эффективного использования аппаратных возможностей современных графических устройств набор функций CGI перекрывает аппаратно-реализуемые возможности и включает в себя следующие функции:
управление устройством,
вывод графических примитивов,
изменение графических атрибутов,
сегментация изображений,
графический ввод,
растровые операции.
Отличительными особенностями CGI (по сравнению со стандартами на интерфейс базисной графической системы) являются следующие: расширенный набор графических примитивов, одноступенчатое преобразование координат, увеличенное количество логических устройств ввода, наличие растровых операций. В целом набор функций CGI достаточно удобен для создания надстроенного над ним графического программного обеспечения. Последнее позволяет эффективно создавать на основе CGI различные базисные графические системы.
|
|
Следует отметить, что стандарт на интерфейс виртуального устройства ориентирован в первую очередь на унификацию способа взаимодействия с различными графическими устройствами и предназначен для системных, но не прикладных программистов. Он был утвержден после появления множества проектов по стандартизации программных интерфейсов базисной графической системы.
Графические протоколы
Анализ применяемых в настоящее время графических протоколов и проектов по их стандартизации позволяет выделить протоколы следующих типов:
аппаратно-зависимые графические протоколы или команды графических устройств,
аппаратно-независимые графические протоколы или метафайлы,
прикладные графические протоколы,
растровые графические файлы.