MFC 复制某个区域到剪切板 bitblt
来源:互联网 发布:10档行情软件 编辑:程序博客网 时间:2024/06/06 02:31
- CDC* pScreenDc = CDC::FromHandle(::GetDC(NULL));<span style="white-space:pre"> </span>//屏幕DC
- CDC memDc;<span style="white-space:pre"> </span>// 内存DC
- CBitmap memBmp;
- CBitmap* pOldBmp;
- int cx = GetSystemMetrics(SM_CXSCREEN);
- int cy = GetSystemMetrics(SM_CYSCREEN);
- memDc.CreateCompatibleDC(pScreenDc);
- memBmp.CreateCompatibleBitmap(pScreenDc, cx, cy);
- pOldBmp = memDc.SelectObject(&memBmp);
- memDc.BitBlt(0, 0, cx, cy, pScreenDc, 0, 0, SRCCOPY);
- //复制到剪切板
- OpenClipboard();
- EmptyClipboard();
- SetClipboardData(CF_BITMAP, memBmp.Detach());
- CloseClipboard();
- // 显示到当前界面
- CClientDC clientDc(this);
- CRect rcClient;
- GetClientRect(rcClient);
- clientDc.StretchBlt(0, 0, rcClient.Width(), rcClient.Height(), &memDc, 0, 0, cx, cy, SRCCOPY);
- memDc.SelectObject(pOldBmp);
- memDc.DeleteDC();
- memBmp.DeleteObject();
- BitBlt
- 设备上下文绘图有很多种方法。例如通过创建位图画刷,利用其填充一个区域来实现图像的绘制。此外,还可以使用CDC类的位图函数来输出位图到设备上下文中。
- BitBlt 用于从原设备中复制位图到目标设备,语法格式如下:
- BOOLBitBlt(int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORDdwRop);
- x:目标矩形区域的左上角x轴坐标点。
- y:目标矩形区域的左上角y轴坐标点。
- nWidth:在目标设备中绘制位图的宽度。
- nHight:在目标设备中绘制位图的高度。
- pSrcDC:源设备上下文对象指针。
- xSrc:源设备上下文的起点x轴坐标,函数从该起点复制位图到目标设备。
- ySrc:源设备上下文的起点y轴坐标,函数从该起点复制位图到目标设备。
- dwRop:光栅操作代码
- dwRop有如下选择:
- BLACKNESS 使用黑色填充目标区域
- DSTINVERT 目标矩阵区域颜色取反
- MERGECOPY 使用与运算组合原设备矩形区域的颜色和目标设备的画刷
- MERGEPAINT 使用或运算将反向的源矩形区域的颜色和目标矩形区域的颜色合并
- NOTSRCCOPY 复制源设备区域的反色到目标设备中
- NOTSRCERASE 使用或运算组合源设备区域与目标设备区域的颜色,然后对结果颜色取反
- PATCOPY 复制源设备当前选中的画刷到目标设备
- PATINVERT 使用异或运算组合目标设备选中的画刷和目标设备区域的颜色
- PATPAINT 通过或运算组合目标区域当前选中的画刷和源设备区域反转的颜色
- SRCAND 使用与运算组合源设备和目标设备区域的颜色
- SRCCOPY 直接复制源设备区域到目标设备中
- SRCERASE 使用与运算组合目标设备区域的反色与源设备区域的颜色
- SRCINVERT 使用异或运算组合源设备区域颜色和目标设备区域颜色
- SRCPAINT 使用或运算组合源设备区域颜色和目标设备区域颜色
- WHITENESS 使用白色填充目标区域
阅读全文
0 0
- MFC 复制某个区域到剪切板 bitblt
- MFC - 复制内容到剪切板
- MFC截屏、绘制并复制到剪切板
- MFC 复制到剪切板 粘贴出来中文乱码 解决方法
- 复制文本到剪切板
- 复制到剪切板
- 复制数据到剪切板
- javascript复制到剪切板
- Vim 复制到剪切板
- jquery 复制到剪切板
- js 复制到剪切板
- 字符串复制到剪切板
- jquery 复制到剪切板
- 复制到剪切板功能
- 复制文字到剪切板
- js复制到剪切板
- js复制到剪切板
- 复制到剪切板
- Shell学习---3
- 什么是线程安全和线程不安全
- JAVA执行Shell命令
- 在腾讯云Winserver2016上部署网站
- 同一label,不同字体颜色
- MFC 复制某个区域到剪切板 bitblt
- 文章静态化分页
- 习题5.2
- SVN
- 手把手教你在Android Studio 3.0上分析内存泄漏
- 解决linux安装软件:/lib/ld-linux.so.2: bad ELF interpreter问题
- Thinkphp5.0 session 分布式部署
- Unity的HTC VIVE SDK研究(手柄按键功能的研究,比较详细)
- 第15章 做游戏的主人——输出控制利器Directlnput