rgb数组 转 unit16_t
时间: 2023-08-16 17:03:30 浏览: 123
如果您的 RGB 数组是每个通道 8 位的无符号整数,则可以使用以下方法将其转换为 uint16_t 类型的值:
```c++
uint8_t r = 255; // 8 bits red channel
uint8_t g = 127; // 8 bits green channel
uint8_t b = 63; // 8 bits blue channel
// Pack RGB values into a single uint16_t value
uint16_t color = ((uint16_t)r << 11) | ((uint16_t)g << 5) | b;
```
这个方法将 RGB 值打包成一个 16 位的整数,其中高 5 位表示红色通道值,中间 6 位表示绿色通道值,低 5 位表示蓝色通道值。如果您需要使用不同的位分配或通道顺序,您可以根据需要调整位移和掩码。
阅读全文