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里什么都没有。
...全文
76 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
realdreamer 2003-05-24
  • 打赏
  • 举报
回复
BITMAPINFO 结构需要正确填充才行.
另外, 第一个参数你应该传递memdc.
牧童027 2003-05-24
  • 打赏
  • 举报
回复
可我现在手头没这书呀?怎么搞?
自己UP
sagasonme 2003-05-24
  • 打赏
  • 举报
回复
电子工业出版社有一本书<<.NET数字图像处理>>的随书光盘里有关于这个类的用法.

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧