#include <stdio.h>
typedef struct ARGB{
int alpha;
int red;
int green;
int blue;
}color, *pcolor;
//将十六进制转化为ARGB
color hex_to_argb( int color_hex)
{
color col = {0};
col.alpha = ((color_hex >> 24) & 0xFF);
col.red = ((color_hex >> 16) & 0xFF);
col.green = ((color_hex >> 8) & 0xFF);
col.blue = (color_hex & 0xFF);
return col;
}
//将ARGB转化为十六进制
int argb_to_hex(color col)
{
return (col.alpha << 24 | col.red << 16 | col.green <<8 | col.blue);
}
int main(int argc, char* argv[])
{
//初始化col
color col = {255, 0, 255, 0};
//将col转化为十六进制
int hex_color = argb_to_hex(col);
printf("color of hex is: %x\n", hex_color);
//将col清空
col.alpha = 0;
col.red = 0;
col.green = 0;
col.blue = 0;
//将十六进制转化为ARGB
col = hex_to_argb(hex_color);
printf("a is: %d r is: %d g is: %d b is:%d\n", col.alpha, col.red, col.green, col.blue);
return 0;
}