今まで"0xffffffff"のようして2bitずつ設定していたのですが
ARGBマクロを使ってもっとわかりやすく記載したいと考えております。
わかりにくくて申し訳ございません。
ソースを書いてみたのですがうまく値が取得できていないようです。
取得時には全て0が入ってしまいます。
おそらくシフト演算が間違っているのですが、お分かりになる方おりませんでしょうか。
#define ARGB(a,r,g,b) (((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
ARGB(255,255,255,255) → 0xffffffff //
void test(unsigned long argb){
int a = (((argb)&0xff)>>24); //上位1,2番目
int r = (((argb)&0xff)>>16); //上位3,4番目
int g = (((argb)&0xff)>>8); //上位5,6番目
int b = ((argb)&0xff);//上位7,8番目
}
test( ARGB(255,255,255,255) );