您的位置:首页 > 编程语言

pbmi = (BITMAPINFO*)(pbmfh + 1); 这行代码终于懂了

2011-06-13 17:40 274 查看
BITMAPFILEHEADER* pbmfh;
BITMAPINFO* pbmi;
//加载pbmfh等操作
//转换
pbmi = (BITMAPINFO*)(pbmfh[0] + 1);






一开始 死活没搞懂 指针怎么位移,struct怎么转换的

现在有点懂了——

BITMAPFILEHEADER 14字节

BITMAPINFO 40字节



BITMAPFILEHEADER + 1

1是整数,win32下是16位 = 2字节



实际上呢?

struct 指针位移 是根据 指针类型 来位移的

BITMAPFILEHEADER + 1 位移了BITMAPFILEHEADER大小位置,也就是14个字节



Windows中DIB的扩展版本——以BITMAPFILEHEADER结构开始,但是接着是BITMAPINFOHEADER结构,而不是BITMAPCOREHEADER结构



纠结啊。。基础问题,终于懂了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: