GetDIBits到底怎么用的呀?

牧童027 2003-05-24 04:12:53
我用SDK编写一例程。
HBITMAP hBmp = (HBITMAP)LoadImage(NULL, pszFileName, IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE|LR_LOADFROMFILE);
HDC memdc = CreateCompatibleDC(hDC);//hDC 是用GetDC得出来的。
BITMAP bitmap;
GetObject(hBmp, sizeof(bitmap), &bitmap);
SelectObject(memdc, hBmp);
BitBlt(hDC, 0, 0, bitmap.bmWidth, bitmap.bmHeight, memdc, 0, 0, SRCCOPY);//这里图片已正常显示
ReleaseDC(hWnd, memdc);
BYTE *pv = new BYTE[bitmap.bmHeight * bitmap.bmWidthBytes];
ZeroMemory(pv, bitmap.bmHeight*bitmap.bmWidthBytes);
GetDIBits(hDC, hBmp, 0, bitmap.bmWidth, pv, &bitmapinfo, DIB_RGB_COLORS);
这里GetDIBits总是返回NULL,我接着用GetLastError()返回也是0,在PV里什么都没有。
...全文
24 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
realdreamer 2003-05-24
BITMAPINFO 结构需要正确填充才行.
另外, 第一个参数你应该传递memdc.
回复
牧童027 2003-05-24
可我现在手头没这书呀?怎么搞?
自己UP
回复
sagasonme 2003-05-24
电子工业出版社有一本书<<.NET数字图像处理>>的随书光盘里有关于这个类的用法.
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2003-05-24 04:12
社区公告
暂无公告