首页 截屏程序总结-微信小程序 截屏

截屏程序总结-微信小程序 截屏

举报
开通vip

截屏程序总结-微信小程序 截屏截屏程序总结-微信小程序 截屏 截屏程序总结 截屏程序总结 1.用到的几个函数和类 1.1HDCGetDC(HWNDhWnd);获得窗口DC句柄,参数为NULL时返回桌面DC句柄. 1.2CDC::FromHandle(HDCHdc),将DC句柄转换为DC指针,原型:staticCDC*PASCAL FromHandle(HDChDC); 因此可以这样获得桌面DC的CDC*指针对象: CDC*pDeskDC=CDC::FromHandle(::GetDC(NULL)); 也可以这样获得桌面DC的CD...

截屏程序总结-微信小程序 截屏
截屏程序总结-微信小程序 截屏 截屏程序总结 截屏程序总结 1.用到的几个函数和类 1.1HDCGetDC(HWNDhWnd);获得窗口DC句柄,参数为NULL时返回桌面DC句柄. 1.2CDC::FromHandle(HDCHdc),将DC句柄转换为DC指针,原型:staticCDC*PASCAL FromHandle(HDChDC); 因此可以这样获得桌面DC的CDC*指针对象: CDC*pDeskDC=CDC::FromHandle(::GetDC(NULL)); 也可以这样获得桌面DC的CDC*指针对象: GetDesktopWindow()->GetDC() 获得CDC*指针对象的目的在于,创建兼容DC,在里面放置BITMAP对象,相当于画画的纸,再利用兼容DC在其上画图,在这里是复制桌面DC的图像.而创建兼容DC的函数原型是:BOOLCreateCompatibleDC(CDC*pDC); 其参数为CDC*,所以要先想办法得到桌面的DC指针。 1 CWnd::GetDC()返回的是CDC* GetDC(HWNDhWnd)返回的是HDC 2.创建兼容DC: memDC.CreateCompatibleDC(pDC); 3 .创建兼容位图,并选入兼容DC。创建兼容位图的方法 CBitmapmBmp,*pOldBmp=NULL; CBitmap.CreateCompatibleBitmap(pDC,screenWidth,scree nHeight); 选入兼容DC: pOldBmp=memDC.SelectObject(mBmp); 4.兼容DC与桌面DC相联接,将DC上的内容复制到兼 容位图中。 memDC.BitBlt(0,0,screenWidth,screenHeight,pDC,0,0,SRC COPY); 5.利用CImage对象,保存位图 CImageimg; img.Attach(mBmp); img.Save(lpszSavePath); 6.记得释放DC 2 ::ReleaseDC(NULL,pDeskDC->m_hDC); 或者: ReleaseDC(pDeskDC) 7.在创建兼容位图前,如果CBitmap对象不为NULL,先 将其mBmp.Detach(),否则出错。 8.橡皮筋类的使用: 8.1在使用橡皮筋的窗口类中定义橡皮筋对象: CRectTrackerm_RectTracter; 8.2在使用其窗口的初始化函数中: m_RectTracter.m_nStyle=CRectTracker::dottedLine|CRect Tracker::resizeOutside;m_RectTracter.m_rect.SetRect(0,0,0, 0); 该代码分别是设置橡皮筋样式和矩形大小 8.3在OnPaint函数中,绘制橡皮筋 CDC*pDlgDC=GetDC(); m_RectTracter.Draw(pDlgDC); ReleaseDC(pDlgDC); 8.4在OnLButtonDown函数中写入如下代码: if(m_RectTracter.HitTest(point)==CRectTracker::hitNothin g) 3 { m_RectTracter.TrackRubberBand(this,point,TRUE); } else { m_RectTracter.Track(this,point,TRUE); m_RectTracter.m_rect.NormalizeRect(); } Invalidate(); CDialogEx::OnLButtonDown(nFlags,point); 其中m_RectTracter.HitTest(point)是对当前点位置检查。 m_RectTracter.TrackRubberBand(this,point,TRUE);此成 员函数用来进行“橡皮筋似”选择。 m_RectTracter.Track(this,point,TRUE)此成员函数显示用于 改变矩形大小的用户界面。 m_RectTracter.m_rect.NormalizeRect();对矩形坐标正常化。 该段代码在OnLButtonDown中,相对固定,可在其它程序 中少量修改后使用。 8.5在OnSetCursor函数中: m_RectTracter.SetCursor(this,nHitTest); returnTRUE; 9(附整屏截屏代码: 4 intnWidth=GetSystemMetrics(SM_CXSCREEN); intnHeight=GetSystemMetrics(SM_CYSCREEN); CDC*pDeskDC=GetDesktopWindow()->GetDC(); CDCmemDC; memDC.CreateCompatibleDC(NULL); CBitmap*pOldBmp,mBmp; mBmp.CreateCompatibleBitmap(GetDC(),nWidth,nHeight); pOldBmp=(CBitmap*)memDC.SelectObject(mBmp); ShowWindow(SW_HIDE); Sleep(100); memDC.BitBlt(0,0,nWidth,nHeight,pDeskDC,0,0,SRCCOPY); Sleep(100); ShowWindow(SW_SHOW); CImageimg; img.Attach(mBmp); img.Save(_T("D:\\789.png")); ReleaseDC(pDeskDC); ReleaseDC(memDC); 5 截屏程序总结:微信小程序 截屏 截屏程序总结 vfp 截屏程序 c++ direct截屏程序 6
本文档为【截屏程序总结-微信小程序 截屏】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_337177
暂无简介~
格式:doc
大小:17KB
软件:Word
页数:5
分类:
上传时间:2018-04-13
浏览量:55