Partager via


CmTranslateRGBs, fonction (icm.h)

[CMTranslateRGBs n’est plus disponible pour une utilisation à partir de Windows Vista.]

Convertit une bitmap d’un espace de couleurs à un autre à l’aide d’une transformation de couleur.

Syntaxe

BOOL CMTranslateRGBs(
  HCMTRANSFORM hcmTransform,
  LPVOID       lpSrcBits,
  BMFORMAT     bmInput,
  DWORD        dwWidth,
  DWORD        dwHeight,
  DWORD        dwStride,
  LPVOID       lpDestBits,
  BMFORMAT     bmOutput,
  DWORD        dwTranslateDirection
);

Paramètres

hcmTransform

Spécifie la transformation de couleur à utiliser.

lpSrcBits

Pointe vers l’image 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.

dwStride

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 dwStride est défini sur zéro, la CMM doit supposer que les lignes d’analyse 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.

dwTranslateDirection

Spécifie la direction de la transformation utilisée pour la traduction. Ce paramètre doit prendre l’une des valeurs suivantes.

Valeur Signification
CMS_FORWARD

Utiliser la transformation vers l’avant

CMS_BACKWARD

Utiliser la transformation inverse

Valeur retournée

À compter de Windows Vista, la CMM par défaut (Icm32.dll) retourne FALSE et GetLastError signale ERROR_NOT_SUPPORTED.

Windows Server 2003, Windows XP et Windows 2000 :

Si cette fonction réussit, la valeur de retour est TRUE.

Si cette fonction échoue, la valeur de retour est FALSE. Si la fonction échoue, la CMM doit appeler SetLastError pour définir la dernière erreur sur une valeur d’erreur valide définie dans Winerror.h.

Remarques

À compter de Windows Vista, les implémenteurs CMM ne sont plus nécessaires pour implémenter cette méthode.

Windows Server 2003, Windows XP et Windows 2000 :

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, le 4e octet doit être conservé et copié dans la mémoire tampon de sortie.

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.

Configuration requise

Condition requise Valeur
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