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

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

BITMAPINFOHEADERBITMAPV4HEADERBITMAPV5HEADER 结构经过扩展,允许规范双压缩值,指示位图数据是 JPEG 或 PNG 图像。 当 hdc 参数指定打印机设备时,这些压缩值仅适用于 SetDIBitsToDeviceStretchDIBits。 为了支持打印机的图元文件后台处理,应用程序不应依赖返回值来确定设备是否支持 JPEG 或 PNG 文件。 在调用 SetDIBitsToDeviceStretchDIBits 之前,应用程序必须发出 QUERYESCSUPPORT 与相应的转义。 如果验证转义失败,则应用程序必须回退到自己的 JPEG 或 PNG 支持上,才能将图像解压缩到位图中。