首页 文章

将UINT32颜色格式从AaBbGgRr转换为AaRrGgBb

提问于
浏览
1

我试图将AINTBbGgRr中的UINT32颜色格式转换为c中的AaRrGgBb . Aa = Alpha,Bb =蓝色,Gg =绿色Rr =红色 . 通过转换,我的意思是切换Bb和Rr的值 . 有人知道如何实现这一目标吗?

1 回答

  • 2

    您可以使用掩码和位移来实现此目的:

    uint32_t newValue = oldValue;
    
    newValue = newValue & 0xFF00FF00; // open new space to insert the bits
    newValue = ((oldValue & 0xFF)<< 16) | newValue; // change BB
    
    newValue = ((oldValue & 0x00FF0000) >> 16) | newValue; // Change RR
    

相关问题