Tecnología

Inicio

Cómo utilizar Int para obtener el código de color RGB

API de Windows utilizan un COLORREF para representar un color. La cabecera windows.h define un COLORREF como DWORD, que es un tipo int 32 bits. Hay varias macros diseñados para inicializar y la lectura de un COLORREF, pero también pueden ser tratados como un int. La codificación es sencillo, y el examen de las definiciones de macro le puede dar información adicional sobre formas de trabajar con los valores.

Instrucciones

1 Construir un COLORREF usando valores de rojo, verde y azul enteros utilizando la macro RGB:
COLORREF myColor = RGB (255, 255, 0); //Amarillo

2 Crear un COLORREF utilizando explícitamente una constante entera. En hexadecimal, el contenido de un número entero COLORREF parecen 0x00RRGGBB, en el que RR, GG y BB son los valores de rojo, verde y azul:
COLORREF myColor = 0x0088FF88; //Verde claro

3 Extraer los componentes rojo, verde y azul mediante el uso de las macros adecuadas:
BYTE myRedValue = GetRValue (myColor);
BYTE myGreenValue = GetGValue (myColor);
BYTE myBlueValue = GetBValue (myColor);

Consejos y advertencias

  • Aunque COLORREFs son enteros, la realización de operaciones aritméticas en ellos no proporciona ningún resultado útil debido a la forma en que se codifican. Esto significa que es necesario escribir código especial para el cálculo de las diferencias o las medias de colores.