Схема графического контроллера
Рисунок 9.28. Схема графического контроллера
Это достигается двумя способами. Первый состоит в организации битовых плоскостей, когда в видеобуфере последовательно хранятся сначала младшие биты значений пикселов, затем — вторые и т. д. (Рисунок 9.29). При этом восемь последовательных пикселов описываются несколькими байтами, размещенными в разных частях видеобуфера. Эта, немного странная на первый взгляд, логика кодирования изображения удобна тем, что облегчает перенос программного обеспечения, предназначенного для работы с черно-белыми дисплеями, на цветные дисплеи.
Второй подход, чаще применяемый при больших цветовых глубинах, состоит в кодировании одного пиксела одним или несколькими последовательными байтами видеобуфера. Графические контроллеры современных персональных компьютеров имеют цветовую глубину 24 или 32 бита, что соответствует трем или четырем байтам на пиксел. Этого хватает, чтобы (с учетом Диапазона яркости современных дисплеев) представить любой цвет, который человеческий глаз способен отличить на дисплее от другого.
Контроллеры с такой цветовой глубиной обычно предоставляют по одному байту для кодирования каждой из трех цветовых составляющих цветного изображения. Устройства с меньшими цветовыми глубинами часто реализуют более сложную схему кодирования цвета, называемую отображением цветов (color mapping). Значение пиксела при этом представляет собой индекс в специальной таблице, палитре. Элементы палитры — это значения компонентов пиксела.