VS2008 MFC截取整个屏幕并保存为jpg格式
2024-08-30 13:08:08
void CMainFrame::OnSavejpg()
{
// TODO: 在此添加命令处理程序代码
HWND hwnd = this->GetSafeHwnd(); //得到窗口句柄
HDC hDC = ::GetWindowDC(hwnd);//获取DC 指定的窗口的设备环境 RECT rect;
::GetWindowRect(hwnd, &rect);//获取屏幕大小 该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。
HDC hDCMem = ::CreateCompatibleDC(hDC);//创建兼容DC 创建一个与指定设备兼容的内存设备上下文环境(DC)。 HBITMAP hBitMap = ::CreateCompatibleBitmap(hDC, rect.right-rect.left, rect.bottom-rect.top);//该函数创建与指定的设备环境相关的设备兼容的位图。 HBITMAP hOldMap = (HBITMAP)::SelectObject(hDCMem, hBitMap);//将位图选入DC,并保存返回值 ::BitBlt(hDCMem, , , rect.right-rect.left, rect.bottom-rect.top, hDC, , , SRCCOPY);//将屏幕DC的图象拷贝到内存DC中 CImage image;//须要#include <atlimage.h>
image.Attach(hBitMap);
image.Save(_T("c://aaa.jpg"));//假设文件后缀为.bmp,则保存为为bmp格式
image.Detach(); ::SelectObject(hDCMem, hOldMap);//选入上次的返回值 //释放
::DeleteObject(hBitMap);
::DeleteDC(hDCMem);
::DeleteDC(hDC);
}
运行:
最新文章
- webpack + vuejs 基本配置(一)
- SQLite一些函数用法
- ODATA WEB API(一)---扩展使用
- 《JavaScript高级程序设计》学习笔记12篇
- 监控系统 - check_mk_agent
- 配置apache虚拟主机的实例总结
- Kakfa揭秘 Day2 Kafka内核再揭秘
- Centos memcached的php拓展 管理界面
- JTable,TableModel,DefaultTableModel与AbstractTableModel的小结
- C语言——指针
- lua精灵移除报对象非法
- Python中if __name__ == ";__main__";: 的理解
- 实现IOC功能的简单Spring框架
- 自制stm32板子无法烧录程序的问题
- SQL Server2012如何导出sql脚本并且还原数据库
- Loading class `com.mysql.jdbc.Driver&#39;. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver&#39;. The driver is automatically registered via the SPI and manual loading of the driver class
- python 代码检测工具
- 最全的maven的pom.xml文件详解
- C# 简单的loading提示控件
- 01.ZooKeeper安装和介绍