Способность к воспроизведению цвета устройствами, такими как мониторы и принтеры, может варьировать от монохромного до воспроизведения тысяч цветов. Поскольку приложение, возможно, должно генерировать вывод данных для устройств по всему этому диапазону, оно должно быть готово обрабатывать меняющиеся способности к воспроизведению цветов.
Приложение может узнать число цветов, доступных для данного устройства при помощи использования функции GetDeviceCaps, которая извлекает значение NUMCOLORS. Это значение определяет количество цветов, доступных для использования приложением. Обычно, это количество соответствует физическим свойствам устройства вывода, таким как, число чернил в принтере или число сигналов видимого цвета, которые адаптер дисплея может передать на монитор.
Хотя значение NUMCOLORS и определяет количество цветов, но оно не идентифицирует, какие цвета доступны. Приложение может обнаружить, какие цвета являются доступными, перечисляя все перья, имеющие тип PS_SOLID. Поскольку драйвер, который поддерживает данное устройство, обычно имеет полный диапазон сплошных перьев, и поскольку система требует, чтобы сплошные перья имели только цвета, которые устройство может создать, перечисление этих перьев часто эквивалентно перечислению цветов. Приложение может перечислить перья при помощи использования функции EnumObjects. Пример кода, см. в статье Перечисление цветов.
Для получения дополнительной информации, см. нижеследующие разделы: