首页
社区
课程
招聘
关于CreateDIBitmap用法
发表于: 2006-2-10 18:56 8952

关于CreateDIBitmap用法

2006-2-10 18:56
8952
CreateDIBitmap中第2个和第5个参数
都是lpImgData
查了msdn第2个和第5个参数,描述并不一样
难道网页的代码是错的吗?

hBitmap = CreateDIBitmap( hDC,
                          (LPBITMAPINFOHEADER)lpImgData,
                          (LONG)CBM_INIT,
                          (LPSTR)lpImgData + sizeof(BITMAPINFOHEADER) +
                          NumColors * sizeof(RGBQUAD),
                          (LPBITMAPINFO)lpImgData,
                          DIB_RGB_COLORS );

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
没有错,看看BITMAPINFO结构的内容就知道了:
typedef struct tagBITMAPINFO { // bmi
    BITMAPINFOHEADER bmiHeader;
    RGBQUAD          bmiColors[1];
} BITMAPINFO;
可以发现, BITMAPINFO结构的第一个域是BITMAPINFOHEADER, 当一个指针指向BITMAPINFO结构的时候也就是指向了一个BITMAPINFOHEADER结构. 类似的情况在Windows中很多, 例如工具栏通知消息中涉及的TOOLTIPTEXT结构包含一个NMHDR结构, 指向TOOLTIPTEXT的指针也可以当指向NMHDR结构的指针用
2006-2-11 14:32
0
游客
登录 | 注册 方可回帖
返回
//