C语言struct和union构建ARGB颜色通道

#include 
#include 

//颜色值通道结构体
//由于共同体color存值是反着存的
//所以结构体里面的参数也要反着声明
typedef struct _ARGB {
	uint8_t blue;
	uint8_t green;
	uint8_t red;
	uint8_t alpha;
} ARGB;

//颜色共同体
typedef union _Color {
	uint32_t color;
	ARGB argb;
} Color;

int main(void) {
	Color color;
	color.color = 0xFF00FF00;
	printf("A:%.2X\nR:%.2X\nG:%.2X\nB:%.2X",
			color.argb.alpha,
			color.argb.red,
			color.argb.green,
			color.argb.blue);
	return 0;
}

你可能感兴趣的:(C语言struct和union构建ARGB颜色通道)