Палитры и согласование цветов
В системе Windows предусмотрены пштитры, которые позволяют использовать в приложениях графические изображения с цветами, отличными от цветов, применяемых по умолчанию. Видеоадаптеры обычно позволяют отображать не менее 256 цветов одновременно; однако этого недостаточно для отображения полноцветных изображений с необходимой точностью. Для точного представления полноцветных изображений может потребоваться до 16 млн. цветов. Палитры дают возможность изменить в приложении цвета, предусмотренные по умолчанию, для получения оптимального набора цветов, позволяющего представить изображение наиболее точно.
Системы Windows 2000 и Windows 9x обладают также возможностями согласования цветов изображения (1СМ — image color matching). Согласование цветов изображения обеспечивает точное и единообразное воспроизведение цветных изображений на всех устройствах вывода. В приложениях согласование цветов изображения обычно используется для того, чтобы дать возможность пользователям создавать на экране цветные изображения, которые затем будут точно воспроизведены на принтере или на других экранах.
Аппаратные палитры
Современные компьютеры оборудованы видеоадаптерами, которые отображают одновременно не менее 256 цветов с разрешающей способностью 1024*768. В связи с тем, что одновременно может отображаться только ограниченное число цветов, видеоадаптеры должны следить за тем, какие цвета используются. Например, 256 цветов, которые могут быть показаны одновременно, выбираются из диапазона 256x256x256=16777216 возможностей. Этот диапазон цветов определен тем, что в видеоадаптере для представления компонентов красного, зеленого и синего (RGB — red, green, blue) цветов используются 3 байта информации. Большинство высококачественных видеоадаптеров поддерживают режим отображения так называемого истинного цвета, который позволяет отображать все 16777216 вариантов цветов одновременно.
В видеоадаптере для отображения цвета на экране вначале выполняется установка значений RGB для всех цветов, которые могут быть показаны одновременно. Эти установки называются аппаратной цветовой палитрой. Когда возникает необходимость отобразить пиксель, его цвет устанавливается в значение RGB одного из цветов аппаратной цветовой палитры. Для изменения цвета пикселя достаточно сослаться на другой вход аппаратной цветовой палитры. Если значение RGB во входе палитры меняется, то цвет пикселей, отображающих этот вход палитры, немедленно изменяется на экране.
Аппаратные палитры используются в видеосистемах для повышения скорости и эко номии памяти. Если бы пришлось указывать код RGB для каждого пикселя отдельно это потребовало бы около 3 Мбайт памяти. Ограничение выбора 256 цветами палитрь одновременно уменьшает потребность в памяти до 1 Мбайт при разрешающей способ ности 1024x768. Кроме того, цвет пикселя можно изменить, указав 1 байт информации -новый номер элемент палитры. Это быстрее по сравнению с заданием трех байтов код; RGB для каждого пикселя. Быстродействие может оказаться важным требованием i видеооборудованию, особенно при разрешающей способности экрана в 1024x768 v выше.
Цветовые палитры в системе Windows
В системе Windows для обеспечения поддержки аппаратных цветовых палитр при ходится решать одну проблему. Разрешение приложениям ОС Windows менять установки цвета RGB в аппаратной палитре видеоадаптера помешало бы работе приложений в системе. Например, если одно приложение изменит цвет аппаратной палитры с черного на синий, то все черные пиксели на всех видимых окнах мгновенно превратятся в синие. Это является нарушением основного принципа, согласно которому приложения Windows должны работать в отдельных окнах и не нарушать работу других приложений. Еще одна проблема состоит в том, что приложения Windows могут работать не многих платформах, а разные аппаратные системы имеют различные возможности видеоотображения.
В системе Windows эти проблемы решаются на основе палитры, применяемой пс умолчанию, и логической палитры. Обе эти палитры предоставляют приложению возможность работать с аппаратной палитрой реального видеооборудования. Системной палитрой, применяемой по умолчанию, как правило, является группа из 20 зарезервированных цветов, используемых в Windows для вывода меню, кнопок, фона экрана рабочего стола и сглаженных кистей. Фактическое число зарезервированных цветов может быть определено с помощью функции GetDeviceCaps и индекса NUMRESERVED. Если видеооборудование поддерживает менее 20 цветов одновременно, некоторые из 20 элементов палитры могут быть одинаковыми. С помощью функции SetSystemPaletteUse системная палитра, предусмотренная по умолчанию, может быть сокращена до двух цветов (черного и белого). Для большинства приложений это не требуется, поскольку обычно в их распоряжении имеется достаточно дополнительных вариантов цветов для использования и без этих 20 зарезервированных цветов.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.