特定位图函数和结构的 JPEG 和 PNG 扩展

在某些版本的 Microsoft Windows 上, StretchDIBitsSetDIBitsToDevice 函数允许将 JPEG 和 PNG 图像作为源图像传递到打印机设备。 此扩展不是为了向应用程序提供常规 JPEG 和 PNG 解压缩,而是允许应用程序将 JPEG 和 PNG 压缩的图像直接发送到具有 JPEG 和 PNG 图像硬件支持的打印机。

BITMAPINFOHEADERBITMAPV4HEADERBITMAPV5HEADER 结构进行了扩展,允许指定指示位图数据为 JPEG 或 PNG 图像的双压缩值。 当 hdc 参数指定打印机设备时,这些压缩值仅对 SetDIBitsToDeviceStretchDIBits 有效。 若要支持打印机的图元文件假脱机,应用程序不应依赖返回值来确定设备是否支持 JPEG 或 PNG 文件。 在调用 SetDIBitsToDeviceStretchDIBits 之前,应用程序必须发出具有相应转义的 QUERYESCSUPPORT。 如果验证转义失败,应用程序必须回退到自己的 JPEG 或 PNG 支持上,才能将图像解压缩为位图。