我想用0xFF0000
(RGB)这样的颜色制作,这是一种带有FF alpha的RGBA颜色,如0xFF0000FF
。我想,这将是一些有点的东西。
提前致谢, Kacper
答案 0 :(得分:4)
uint32_t rgb=0xFF0000;
uint32_t rgba = (rgb << 8) | 0xFF;
说明: (rgb << 8)
将rgb值向左移8位。这意味着它只向左移动一个字节,例如0x12345678
将更改为0x34567800
。移位后,前两位数不适合32位,因此将其删除。其他所有东西都向左移动,然后在低位添加新的零。
下一个运算符是按位or
。它是一个或应用于每个位,因此0x34567800 | 0xFF
将导致0x345678FF
(感谢@Gajet的解释)