Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Colors 将十六进制数转换为颜色值_Colors_Hex - Fatal编程技术网

Colors 将十六进制数转换为颜色值

Colors 将十六进制数转换为颜色值,colors,hex,Colors,Hex,我有一个LCD固件,我正试图通过添加更多颜色来修改它。我发现颜色定义如下: #define WHITE 0xFFFF #define BLACK 0x0000 #define BLUE 0x001F #define GBLUE 0X07FF #define RED 0xF800 #define MAGENTA

我有一个LCD固件,我正试图通过添加更多颜色来修改它。我发现颜色定义如下:

#define WHITE                 0xFFFF
#define BLACK                 0x0000
#define BLUE                  0x001F
#define GBLUE                 0X07FF
#define RED                   0xF800
#define MAGENTA               0xF81F
#define GREEN                 0x07E0
#define CYAN                  0x7FFF
#define YELLOW                0xFFE0
#define BROWN                 0XBC40
#define BRRED                 0XFC07
#define GRAY                  0X8430

这些值如何转换为实际的十六进制颜色值?例如,青色列为
0x7FFF
,但青色的十六进制颜色值为
#00FFFF

这是RGB565颜色格式。5位表示红色,6位表示绿色,5位表示蓝色

WORD red_mask = 0xF800;
WORD green_mask = 0x7E0;
WORD blue_mask = 0x1F;
BYTE red_value = (pixel & red_mask) >> 11;
BYTE green_value = (pixel & green_mask) >> 5;
BYTE blue_value = (pixel & blue_mask);
另一方面:

// Assuming the color values have been truncated to the correct number of bits:
WORD pixel565 = (red_value << 11) | (green_value << 5) | blue_value;
//假设颜色值已被截断为正确的位数:
单词像素565=(红色_值