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

本文介绍了一个使用C语言实现的颜色值转换程序。该程序通过定义ARGB结构体和Color共同体来存储和转换颜色值。共同体Color包含一个32位整数颜色值和一个ARGB结构体,ARGB结构体中分别存储了Alpha、Red、Green和Blue四个通道的值。程序演示了如何将一个32位颜色值分解为各个通道的值并打印出来。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#include <stdint.h>

//颜色值通道结构体
//由于共同体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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值