Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Общие сведения. На уровне взаимодействия с аппаратурой любая графическая операция сводится к работе с отдельными пикселами

ТЕМА 3. ГРАФИЧЕСКИЕ ПРИМИТИВЫ В ЯЗЫКАХ ПРОГРАММИРОВАНИЯ

 

 

На уровне взаимодействия с аппаратурой любая графическая операция сводится к работе с отдельными пикселами. Требуется отобразить точку заданного цвета с заданными координатами. Для программиста эта работа очень трудоемка и неэффективна. Поэтому графические библиотеки поддерживают работу с более сложными объектами. Можно выделить следующие основные группы таких объектов:

· линейные изображения (растровые образы линий);

· сплошные объекты (растровые области двумерных областей);

· шрифты;

· изображения (прямоугольные матрицы пикселов).

Любой современный компилятор имеет графическую библиотеку, поддерживающую указанные объекты. Такая библиотека должна обеспечивать работу с основными типами видеоадаптеров. Этого можно достичь несколькими путями. Во-первых, можно написать версии библиотеки для всех основных типов адаптеров. Кроме трудоемкости такой работы и громоздкости полученного компилятора использование конкретной библиотеки привяжет программу к определенному типу видеоадаптера, т.е. сузит ее независимость. Принцип совместимости видеоадаптеров здесь помогает мало, т.к. программа, написанная, например, для ЕGA, будет работать на VGA, но без полного использования всех его возможностей. Эта программа так и останется ЕGA-шной. Другой путь - включить в библиотеку версии процедур для всех основных типов видеоадаптеров. Это увеличивает машиннонезависимость. Но нельзя исключить наличия у пользователя видеоадаптера, не поддерживаемого библиотекой. Самым главным недостатком такого подходя является очень большой размер исполняемого файла.

Наиболее распространенным является использование драйверов устройств. Выделяется некоторый набор основных графических операций. Остальные операции реализуются только с использованием этого набора. Привязка к типу видеоадаптера производится при реализации этих базисных операций. Для каждого типа адаптера пишется драйвер - небольшая программа со стандартным интерфейсом, реализующая все базисные операции для данного адаптера. Эта программа помещается в отдельный файл. Один из библиотечных компонентов в начале работы программы определяет тип видеоадаптера и загружает соответствующий драйвер в память. Этим достигается высокий уровень машинной независимости программ, хотя фактор экзотического видеоадаптера, для которого отсутствует драйвер, сохраняется. Эта задача - нерешаемая.

 

<== предыдущая лекция | следующая лекция ==>
Тема 2. Основные понятия и определения | Графическая библиотека языков программирования фирмы Borland
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 300; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.