主 题:如何捕获屏幕图象!
作 者:Brierbird
所属论坛:Visual C++
问题点数:40
回复次数:3
发表时间:2000-4-3 12:03:00
小弟最近编一个记录屏幕为AVI的程序,请问各位大虾如何去捕获屏幕。
回复贴子:
回复人:zhongshan99() (2000-4-3 12:17:00) 得20分
HDC hDC=GetDC(GetDesktopWindow());
HDC hComDC=CreateCompatibleDC(hDC);
HBITMAP hBmp=CreateCompatibleBitmap(hDC,width,height);
HBITMAP hOldBmp=(HBITMAP)SelectObject(hComDC,hBmp);
BitBlt(hComDC,0,0,width,height,hDC,0,0,SRCCOPY);
SelectObject(hComDC,hOldBmp);
DeleteDC(hDC);
DeleteObject(hBmp);
OK.hBmp就是你要的图像.
回复人:gamepolice() (2000-4-3 16:07:00) 得20分
CDC* pDC=new CDC;
pDC->CreateDC("Display",NULL,NULL,NULL);
CDC* pMemDC=new CDC;
pMemDC->CreateCompatibleDC(pDC);
CBitmap * pBmp=new CBitmap;
pBmp->CreateCompatibleBitmap(pDC,PicWidth,PicHeight);
pMemDC->SelectObject(pBmp);
pMemDC->BitBlt(pDC,0,0,width,height,0,0,SRCCOPY);
pDC->DeleteDC();
Now pBmp is what you want!
回复人:Brierbird() (2000-4-3 21:52:00) 得0分
非常感谢两位。谢谢你们的解答。
我只想再问一句,你们这种写法是得到整个屏幕所有的图像吧,即包括各层窗口。
再次感谢。
作 者:Brierbird
所属论坛:Visual C++
问题点数:40
回复次数:3
发表时间:2000-4-3 12:03:00
小弟最近编一个记录屏幕为AVI的程序,请问各位大虾如何去捕获屏幕。
回复贴子:
回复人:zhongshan99() (2000-4-3 12:17:00) 得20分
HDC hDC=GetDC(GetDesktopWindow());
HDC hComDC=CreateCompatibleDC(hDC);
HBITMAP hBmp=CreateCompatibleBitmap(hDC,width,height);
HBITMAP hOldBmp=(HBITMAP)SelectObject(hComDC,hBmp);
BitBlt(hComDC,0,0,width,height,hDC,0,0,SRCCOPY);
SelectObject(hComDC,hOldBmp);
DeleteDC(hDC);
DeleteObject(hBmp);
OK.hBmp就是你要的图像.
回复人:gamepolice() (2000-4-3 16:07:00) 得20分
CDC* pDC=new CDC;
pDC->CreateDC("Display",NULL,NULL,NULL);
CDC* pMemDC=new CDC;
pMemDC->CreateCompatibleDC(pDC);
CBitmap * pBmp=new CBitmap;
pBmp->CreateCompatibleBitmap(pDC,PicWidth,PicHeight);
pMemDC->SelectObject(pBmp);
pMemDC->BitBlt(pDC,0,0,width,height,0,0,SRCCOPY);
pDC->DeleteDC();
Now pBmp is what you want!
回复人:Brierbird() (2000-4-3 21:52:00) 得0分
非常感谢两位。谢谢你们的解答。
我只想再问一句,你们这种写法是得到整个屏幕所有的图像吧,即包括各层窗口。
再次感谢。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货