JPEG 和 PNG 图像的颜色管理

重要

新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 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 的备注部分。