Extensions JPEG et PNG pour des structures et des fonctions bitmap spécifiques

sur certaines versions de Microsoft Windows, les fonctions StretchDIBits et SetDIBitsToDevice permettent de transmettre des images JPEG et PNG en tant qu’image source aux périphériques d’impression. Cette extension n’est pas conçue pour fournir une décompression JPEG et PNG générale aux applications, mais plutôt pour permettre aux applications d’envoyer des images JPEG et PNG compressées directement aux imprimantes ayant une prise en charge matérielle pour les images JPEG et PNG.

Les structures BITMAPINFOHEADER, BITMAPV4HEADER et BITMAPV5HEADER sont étendues pour permettre la spécification de valeurs de bicompression indiquant que les données bitmap sont une image JPEG ou png. Ces valeurs de compression sont valides uniquement pour SetDIBitsToDevice et StretchDIBits lorsque le paramètre HDC spécifie un périphérique d’impression. Pour prendre en charge la mise en file d’attente de métafichiers de l’imprimante, l’application ne doit pas s’appuyer sur la valeur de retour pour déterminer si l’appareil prend en charge le fichier JPEG ou PNG. L’application doit émettre QUERYESCSUPPORT avec la séquence d’échappement correspondante avant d’appeler SetDIBitsToDevice et StretchDIBits. Si l’échappement de validation échoue, l’application doit ensuite revenir à sa propre prise en charge JPEG ou PNG pour décompresser l’image dans une image bitmap.