CMTranslateRGBsExt, fonction (icm.h)
Convertit une bitmap d’un format défini dans un autre format défini et appelle régulièrement une fonction de rappel, le cas échéant, pour signaler la progression et permettre à l’application appelante d’arrêter la traduction.
Syntaxe
BOOL CMTranslateRGBsExt(
HCMTRANSFORM hcmTransform,
LPVOID lpSrcBits,
BMFORMAT bmInput,
DWORD dwWidth,
DWORD dwHeight,
DWORD dwInputStride,
LPVOID lpDestBits,
BMFORMAT bmOutput,
DWORD dwOutputStride,
LPBMCALLBACKFN lpfnCallback,
LPARAM ulCallbackData
);
Paramètres
hcmTransform
Spécifie la transformation de couleur à utiliser.
lpSrcBits
Pointeur vers la bitmap à traduire.
bmInput
Spécifie le format bitmap d’entrée.
dwWidth
Spécifie le nombre de pixels par ligne de balayage dans la bitmap d’entrée.
dwHeight
Spécifie le nombre de lignes d’analyse dans la bitmap d’entrée.
dwInputStride
Spécifie le nombre d’octets entre le début d’une ligne d’analyse et le début de la suivante dans la bitmap d’entrée. Si dwInputStride est défini sur zéro, la CMM doit supposer que les lignes de balayage sont remplies de façon à être alignées sur DWORD.
lpDestBits
Pointe vers une mémoire tampon de destination dans laquelle placer la bitmap traduite.
bmOutput
Spécifie le format bitmap de sortie.
dwOutputStride
Spécifie le nombre d’octets entre le début d’une ligne d’analyse et le début de la suivante dans la bitmap d’entrée. Si dwOutputStride est défini sur zéro, la CMM doit remplir les lignes de balayage afin qu’elles soient alignées sur DWORD.
lpfnCallback
Pointeur vers une fonction de rappel fournie par l’application appelée régulièrement par CMTranslateRGBsExt pour signaler la progression et permettre au processus appelant d’annuler la traduction. (Voir ICMProgressProcCallback.)
ulCallbackData
Données renvoyées à la fonction de rappel, par exemple pour identifier la traduction qui signale la progression.
Valeur retournée
Si cette fonction réussit, la valeur de retour est TRUE.
Si cette fonction échoue, la valeur de retour est FALSE et la CMM doit appeler SetLastError pour définir la dernière erreur sur une valeur d’erreur valide définie dans Winerror.h.
Notes
Chaque CMM est nécessaire pour exporter cette fonction.
Lors de l’écriture dans la mémoire tampon de destination, la CMM doit s’assurer que les lignes d’analyse sont remplies pour être alignées sur DWORD.
Si les formats d’entrée et de sortie ne sont pas compatibles avec la transformation de couleur, cette fonction échoue.
Si les formats bitmap d’entrée et de sortie sont à 3 canaux, 4 octets par pixel comme dans le cas de BM_xRGBQUADS, les quatrièmes octets doivent être conservés et copiés dans la mémoire tampon de sortie.
Si la fonction de rappel retourne zéro, le traitement doit être annulé et CMTranslateRGBsExt doit retourner zéro pour indiquer l’échec ; la mémoire tampon de sortie peut être partiellement remplie.
Notez que cette fonction doit prendre en charge la traduction sur place. Autrement dit, chaque fois que l’empreinte mémoire de la sortie est inférieure ou égale à l’empreinte mémoire de l’entrée, cette fonction doit être en mesure de traduire les couleurs bitmap même si les mémoires tampons source et de destination sont identiques.
Spécifications
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | icm.h |