RGB Hex的RGBA十六进制

时间:2011-07-12 22:48:08

标签: c colors hex rgb rgba

我想用0xFF0000(RGB)这样的颜色制作,这是一种带有FF alpha的RGBA颜色,如0xFF0000FF。我想,这将是一些有点的东西。

提前致谢, Kacper

1 个答案:

答案 0 :(得分:4)

uint32_t rgb=0xFF0000;
uint32_t rgba = (rgb << 8) | 0xFF;

说明: (rgb << 8)将rgb值向左移8位。这意味着它只向左移动一个字节,例如0x12345678将更改为0x34567800。移位后,前两位数不适合32位,因此将其删除。其他所有东西都向左移动,然后在低位添加新的零。

下一个运算符是按位or。它是一个或应用于每个位,因此0x34567800 | 0xFF将导致0x345678FF

(感谢@Gajet的解释)