求教GetDIBits问题:
The GetDIBits function retrieves the bits of the specified compatible bitmap and copies them into a buffer as a DIB using the specified format. GetDIBits copy的是下面BITMAP的哪一个部分,还是全部。typedef struct tagBITMAP {
LONG bmType;
LONG bmWidth;
LONG bmHeight;
LONG bmWidthBytes;
WORD bmPlanes;
WORD bmBitsPixel;
LPVOID bmBits;
} BITMAP, *PBITMAP;下面代码中为什么用了两次GetDIBits ,而且代码参数还相同int result;
memset(&m_bminfo, 0, sizeof(m_bminfo));//清零
m_bminfo.bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);//大小
m_bminfo.bmi.bmiHeader.biBitCount = 0;//每个象素的位数 result = ::GetDIBits(m_hmemdc, m_membitmap, 0, 1, NULL, &m_bminfo.bmi, DIB_RGB_COLORS);
if (result == 0) {
return FALSE;
}
result = ::GetDIBits(m_hmemdc, m_membitmap, 0, 1, NULL, &m_bminfo.bmi, DIB_RGB_COLORS);
if (result == 0) {
return FALSE;
}
The GetDIBits function retrieves the bits of the specified compatible bitmap and copies them into a buffer as a DIB using the specified format. GetDIBits copy的是下面BITMAP的哪一个部分,还是全部。typedef struct tagBITMAP {
LONG bmType;
LONG bmWidth;
LONG bmHeight;
LONG bmWidthBytes;
WORD bmPlanes;
WORD bmBitsPixel;
LPVOID bmBits;
} BITMAP, *PBITMAP;下面代码中为什么用了两次GetDIBits ,而且代码参数还相同int result;
memset(&m_bminfo, 0, sizeof(m_bminfo));//清零
m_bminfo.bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);//大小
m_bminfo.bmi.bmiHeader.biBitCount = 0;//每个象素的位数 result = ::GetDIBits(m_hmemdc, m_membitmap, 0, 1, NULL, &m_bminfo.bmi, DIB_RGB_COLORS);
if (result == 0) {
return FALSE;
}
result = ::GetDIBits(m_hmemdc, m_membitmap, 0, 1, NULL, &m_bminfo.bmi, DIB_RGB_COLORS);
if (result == 0) {
return FALSE;
}
解决方案 »
- 重装win8以后IE还犯病了
- 虚心求帮助希望知道我现在还差或者还应该学习些神马
- windows下驱动执行和服务的关系
- 我在控件中打开一个无模式对话框,结果对话框上的edit框不好使!
- 请教大家,哪儿有好的AVI资源,主要用于程序等待时显示,谢谢大家~~~
- 我做了一个可以选择路径的对话框,怎样响应对话框中的确定和取消的单击事件
- 关于ActiveX发布的一个问题
- 为什么我用GetDlgItemInt(IDC_EDIT1,&i);得不到EDIT中得数字,而用SetDlgItemInt(IDC_EDIT1,1);能设置数字啊?
- asp.net连接oracle 数据库,高手请进
- 大家认为Cable和ADSL哪个好??
- 【求助】请提供一下api hook(驱动实现)的相关资料
- 关于MFC ACTIVEX 的license 问题
第二遍加载图象数据,如果FALSE返回错误
第二遍加载图象数据,如果FALSE返回错误
---------------------
第二遍加载图像数据?参数可是NULL呀,没办法做copy,目标地址不存在。另外请问:
GetDIBits copy的是下面BITMAP的哪一个部分,还是全部。typedef struct tagBITMAP {
LONG bmType;
LONG bmWidth;
LONG bmHeight;
LONG bmWidthBytes;
WORD bmPlanes;
WORD bmBitsPixel;
LPVOID bmBits;
} BITMAP, *PBITMAP到底这个方法copy的数据是什么?