Интерфейс принтера - цвет данных
Как Windows отправляет данные о цвете на принтер и как принтер переводит данные в пропорции чернил?
Например, если у меня есть текст в MS Word с цветом шрифта некоторых значений RGB, и у моего принтера есть цветные картриджи CMYK, и я печатаю текст.
В таком случае, как Windows передает данные о цвете на принтер и как принтер определяет правильную пропорцию чернил CMYK для воспроизведения цвета?
Мой вопрос касается не только окон. Это может быть применимо к любой ОС, которая поддерживает принтеры.
2 ответа
Это зависит от принтера.
Если принтер поддерживает PostScript, приложение / драйвер может отправлять данные о цвете практически в любом понравившемся цветовом формате: RGB, CMYK, индексированный цвет, оттенки серого и т. Д. Принтер преобразует их в CMYK, настроенный для конкретных чернил / тонеров. используется в принтере. Регулировка выполняется с помощью внутренних таблиц цветов, которые настраиваются не только для фактических цветов чернил, но также для различных моделей восприятия. Принтер также регулирует разрешение, чтобы вы могли, например, отправить принтеру изображение с разрешением 100 точек на дюйм и распечатать его с разрешением 300 точек на дюйм. Все это делает PostScript предпочтительным способом печати цвета.
Принтеры PCL5 и PCL6 могут использовать цветовые модели RGB, CMYK и оттенки серого. Принтер выполняет преобразование в чернильные точки на бумаге. Регулировка цвета очень ограничена в PCL и в основном выполняется в драйвере.
GDI-принтеры (также называемые хост-хостами и другими различными именами) отличаются. Эти недорогие принтеры зависят от графического движка операционной системы для преобразования страницы в точки на бумаге. При использовании GDI внутренняя цветовая система всегда RGB, а настройки выполняются ОС. GDI может отправлять данные RGB или CMYK на принтер. В случае RGB это означает, что принтер выполнит преобразование. Многие принтеры GDI не имеют каких-либо встроенных настроек цвета, поэтому это необходимо сделать в ОС.
Windows (и более того MS Word) ничего не знает о ваших картриджах. Обычно приложение использует простой GDI (обычно цветовое пространство RGB) для связи со спулером принтера, а спулер, в свою очередь, связывается с драйвером принтера (не уверен, что imho на этом шаговом драйвере получал команды на каком-то универсальном языке, таком как PCL). Наконец, драйвер (который знает все об оборудовании принтера, картриджах, чернилах и т. Д.) Решает, какие действия должен выполнить принтер для достижения желаемого эффекта.
imho, в качестве альтернативы, приложение может "рисовать" на холсте принтера, используя обычные языки принтера (например, PCL). Однако они ограничены стандартными цветовыми пространствами (RGB, CMYK,...). Они ничего не знают о картриджах - они могут быть 6-цветными, 4-цветными, 3-цветными, даже 1-цветными (черный / белый).