Partager via


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

Voir aussi