Интернет магазин китайских планшетных компьютеров



Компьютеры - Основной протокол X Window System - Цвета

11 мая 2011


Оглавление:
1. Основной протокол X Window System
2. Общий обзор
3. Окна
4. Пиксельные карты и области рисования
5. Ресурсы и идентификаторы
6. События
7. Примеры
8. Цвета



На уровне протокола, цвет представлен 32-битным беззнаковым целым числом, называемым pixelvalue. Следующие элементы принимают участие в представление цвета:

  1. Глубина цвета
  2. Карта цветов являющаяся таблицей содержащей значения интенсивности красной, зелёной и синей составлющих
  3. Визуальный тип определяющий как таблица будет использована для представления цветов

В простейшем случае, карта цветов содержит триаду RGB в строке. pixelvalue x предсталяет собой x-ю строку в таблице. Если клиент может изменять записи в карте цветов, то представление отождествляется с визуальным классом PseudoColor. Визуальный класс StaticColor схож, но клиент не может менять записи в таблице цветов.

Всего доступно 6 визуальных классов. Каждый определяется различным способом представления триады RGB с pixelvalue. PseudoColor и StaticColor это два. Ещё два это GrayScale и StaticGray, которые отличаются тем что показывают только оттенки серого.

Два оставшихся визуальных класса отличаются от указанных выше тем что не используют значение триады pixelvalue и используют три различных таблицы для красного, зелёного и синего значения интенсивности.

Согласно представлению цветов, pixelvalue преобразует в RGB триаду в следующих случаях:

  1. pixelvalue виделась как последовательность бит
  2. эта последовательность нарушается в трех частях
  3. каждый из этих трёх чанков из бит виделись как целое и использовались как индекс для поиска значения в каждой из трёх раздельных таблиц

Этот механизм требует что бы карта цветов состояла из трёх раздельных таблиц, каждая для одного из первичных цветов. Результатом преобразования является ещё тройка значений интенсивности. Визуальные классы используемые этим представлением: DirectColor или TrueColor, различающиеся тем что может клиент менять карту цветов или нет.

Все эти шесть механизмов для представления цветов с pixelvalue требуют некоторых дополнительных параметров для работы. Эти параметры собраны в визуальном типе, который содержит визуальный класс и остальные параметры для представления цветов. Каждый сервер имеет ограниченное количество установленных визуальных типов, и каждый тип ассоциирован с цифровым идентификатором. Идентификаторы являются 32-битными беззнаковыми целыми числами, но не обязательно отличаются от идентификаторов ресурсов или атомов.

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

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

Карты цветов используются независимо от аппаратуры контролирующей экран использующей палитру, которая представляет собой таблицу, которая также используется для представления цветов. Серверы используют карты цветов даже если аппаратура не использует палитру. Когда аппаратура использует палитры, ограниченное количество карт цветов можно установить. В частности, карты цветов установленные когда аппаратура показывает согласующиеся цвета. Клиент может запросить сервер установить карту цветов. Однако это может потребовать удалить другую карту цветов: эффектом использования удалённой карты цветов будет изображение с некорректными цветами, эффект двойной цветовой вспышки или цвета высокой интенсивности. Эта проблема может быть решена использованием стандартных карт цветов. Это цветовые карты с предустановленными ассоциациями между pixelvalues и цветами. Благодаря этому качеству, стандартные карты цветов могут использоваться различными приложениями.

Создание карт цветов регулируется соглашением ICCCM. Стандартные карты цветов определяются ICCCM и спецификацией Xlib.

Частью системы цветов X является Система управления цветом X). Эта система появилась вместе с X11R6 Release 5 в 1991 году. Эта система содержится в виде нескольких дополнительных возможностей xlib, находящихся в серии функций Xcms*. Система определяет аппаратно-независимые цветовые схемы которые уже могут быть конвертированы в аппаратно-зависимые системы RGB. Система содержит функции xlib Xcms*, а также Соглашение цветовой характеристики устройсва которая описывает как преобразуются различные аппаратно-независимые цветовые системы в аппаратно-зависимые RGB цветовые системы. Эта система поддерживает цветовые системы CIEXYZ, xyY, CIELUV и CIELAB, а так же TekHVC.



Просмотров: 6207


<<< Лицензии MIT
Список цветов в X11 >>>