Аппроксимация цвета и передача полутонов


Хотя приложение может использовать цвет не принимая во внимание способности к воспроизведению цвета устройством, окончательный вывод может быть не столь же информативный и доставляющий удовольствие как вывод, для которого цвет тщательно выбирался. Немногие, если таковые вообще имеются, устройства гарантируют точный подбор для каждого возможного кода цвета; поэтому, если прикладная программа запрашивает цвет, который устройство не может создать, система, приближает этот цвет при помощи использования цвета, который устройство может создавать. Например, если приложение попытается создать красное перо для черно-белого принтера, то оно, вместо него, получит черное перо, в котором система использовала черный цвет как аппроксимацию (приближение) для красного.

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

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

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

 

Назад в оглавление
На главную страницу

Hosted by uCoz