【发布时间】:2011-11-17 11:22:18
【问题描述】:
假设我有一个指向图像数据的指针,它有 3 个通道 (RGB),每个通道 8 位,我想显示像 #000000 这样的像素值,它是一个 24 位数字。数据的存储方式类似于 RGB RGB RGB ... 所以我真的需要读取前三个字节。
typedef unsigned char uchar;
uchar* data = get_image_data_somehow();
也许它比我想象的要容易,但如果我有四个字节,我可以做类似的事情
uint32 value = *((uint32*) data);
printf("Value is %x", value);
这要怎么做?原则上我需要 32 位的 1,并用 0 填充前 8 位。
【问题讨论】:
标签: c