JPEG 和 PNG 图像的颜色管理

重要

建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) ,自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅 打印支持应用设计指南

对于提供 JPEG 和 PNG 压缩图像硬件支持的打印机,颜色管理必须由驱动程序或设备处理,不能由 GDI 处理。

在应用程序将 JPEG 或 PNG 压缩图像发送到打印机之前,它将使用 CHECKJPEGFORMAT 或 CHECKPNGFORMAT 转义代码调用 ExtEscape。 这会导致调用驱动程序的 DrvQueryDeviceSupport 函数,查询类型为 QDS_CHECKJPEGFORMAT 或 QDS_CHECKPNGFORMAT,以及包含压缩图像的缓冲区。

驱动程序可以检查图像数据并确定它是否可以支持映像。 如果设置了 XLATEOBJ 结构的XO_DEVICE_ICM标志或XO_HOST_ICM标志,则支持图像必须包括执行颜色转换,因为 GDI 无法对此类图像执行颜色转换。

对于这些压缩图像,颜色空间信息通常包含在图像数据中。 一个例外是 JFIF 文件,这些文件是 YCbCr 编码的,其默认 sRGB 空间是一个很好的近似值。 但是,JFIF 文件可能包含指定颜色空间的专有 APPx 标记,在这种情况下,驱动程序必须使用颜色空间转换图像。

有关支持 JPEG 和 PNG 压缩图像的详细信息,请参阅 DEVINFO 的备注部分。