Windows 如何将颜色数据发送到打印机以及打印机如何将数据转换为墨水比例?
例如,如果我在 MS Word 中有一些文本,其字体颜色具有某些 RGB 值,并且我的打印机有 CMYK 彩色墨盒,并且我打印了这些文本。
在这种情况下,Windows 如何将颜色数据传送给打印机,打印机如何确定正确的 CMYK 墨水比例来重现颜色?
我的问题不仅限于 Windows。它可以适用于任何支持打印机的操作系统。
答案1
这取决于打印机。
如果打印机支持后记,应用程序/驱动程序可以以您喜欢的任何颜色格式发送颜色数据:RGB、CMYK、索引颜色、灰度等。打印机会将其转换为 CMYK,并根据打印机中使用的特定墨水/碳粉进行调整。调整是通过内部颜色表进行的,该表不仅针对实际墨水颜色进行调整,还针对各种感知模型进行调整。打印机还会调整分辨率,例如,您可以向打印机发送 100dpi 的图像并以 300dpi 打印。总而言之,这使得 PostScript 成为打印彩色的首选方式。
聚氯乙烯5而 PCL6 打印机可以使用 RGB、CMYK 和灰度颜色模型。打印机会将颜色转换为纸张上的墨点。PCL 中的颜色调整非常有限,并且大部分都是在驱动程序中完成的。
GDI 打印机(也称为基于主机的,还有其他各种名称)有所不同。这些低成本打印机依靠操作系统的图形引擎将页面转换为纸上的点。使用 GDI,内部颜色系统始终是 RGB,调整由操作系统完成。GDI 可以向打印机发送 RGB 或 CMYK 数据。对于 RGB,这意味着打印机将进行转换。许多 GDI 打印机没有任何内置颜色调整,因此必须在操作系统中完成。
答案2
Windows(以及 MS Word)对您的墨盒一无所知。通常,应用程序使用简单的 GDI(通常是 RGB 颜色空间)与打印机通信后台打印程序,后台处理程序又与打印机通信司机(不确定,依我之见,驱动程序在这一步中接收了一些通用语言的命令,比如 PCL)。最后,驱动程序(它知道关于打印机硬件、墨盒、墨水等的一切)决定打印机必须执行哪些操作才能达到预期效果。
在我看来,或者,应用程序可以使用常见的打印机语言(例如 PCL)在打印机画布上“绘图”。但是,它们仅限于标准颜色空间(RGB、CMYK 等)。它们对墨盒一无所知 - 它们可能是 6 色、4 色、3 色,甚至 1 色(黑色/白色)。