MFC保存窗口客户区为图片

news2024/10/5 15:28:09

首先的窗口输出一些内容;

菜单单击函数代码;

void CgetmypicView::OnTestGetmypic()
{
	// TODO: 在此添加命令处理程序代码
	HWND hwnd = this->GetSafeHwnd();
	HDC hDC = ::GetWindowDC(hwnd);//获取DC       

	RECT rect;
	::GetClientRect(hwnd, &rect);//获取客户区大小  
	HDC hDCMem = ::CreateCompatibleDC(hDC);//创建兼容DC  

	HBITMAP hBitMap = ::CreateCompatibleBitmap(hDC, rect.right, rect.bottom);//创建兼容位图  
	HBITMAP hOldMap = (HBITMAP)::SelectObject(hDCMem, hBitMap);//将位图选入DC。并保存返回值  

	::BitBlt(hDCMem, 0, 0, rect.right, rect.bottom, hDC, 0, 0, SRCCOPY);//将图象拷贝到内存DC中  

	CImage image;
	image.Attach(hBitMap);
	image.Save(_T("e://myshige.jpg"));//假设文件后缀为.bmp,则保存为为bmp格式  
	image.Detach();

	::SelectObject(hDCMem, hOldMap);//选入上次的返回值  

									//释放  
	::DeleteObject(hBitMap);
	::DeleteDC(hDCMem);
	::DeleteDC(hDC);
}

单击菜单之后在磁盘生成图片文件,打开如下;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1217856.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows与wsl互传文件

1.把windows上的文件传到wsl中,\\wsl.localhost\Ubuntu-22.04\mnt\wsl 将你要传的文件放到wsl这个路径下,Ubuntu-22.04是我的子系统,换成自己对应的 2.把wsl中的文件传到windows中 将wsl中的文件放到 /mnt/c 或 /mnt/d 中,这两…

ClickHouse SQL操作

基本上来说传统关系型数据库(以MySQL为例)的SQL语句,ClickHouse基本都支持,这里不会从头讲解SQL语法只介绍ClickHouse与标准SQL(MySQL)不一致的地方。 1 Insert 基本与标准SQL(MySQL&#xff09…

python趣味编程-5分钟实现一个简单贪吃蛇游戏(含源码、步骤讲解)

在本教程《如何用 Python 制作游戏》中,我们将为名为“简单贪吃蛇游戏”的游戏制作一个程序。 Python 中的贪吃蛇游戏:项目信息 项目名称:Python 游戏摘要:Python提供了一个名为pygame的内置库,用于开发游戏。使用的语言:Python 与 Tkinter GUI 库Python版本(推荐):2.…

Python ... takes 0 positional arguments but 1 was given

最近,博主在学习python时遇到这么个报错, 系统:windows10 开发环境:VS Code Python版本:3.12 错误重现: class Dog:def __init__(self):passdef eatSomething(self):self.eatBone()def eatBone():prin…

NewStarCTF2023 Reverse Week3 EzDLL WP

分析 这里调用了z3h.dll中的encrypt函数。 用ida64载入z3h.dll 直接搜索encrypt 找到了一个XTEA加密。接着回去找key和密文。 发现key 这里用了个调试状态来判断是否正确,v71,要v7=1才会输出Right,即程序要处于飞调试状态。 可…

spark性能调优 | 内存优化

目录 我们先了解一下有哪些内存温馨提示RDD示范(spark版本2.1.1)RDD进行优化Df和Ds进行示范 我们先了解一下有哪些内存 1.storage内存 存储数据,缓存 可预估2.shuffle内存 计算join groupby 不可预估spark1.6之前 静态管理的,spark1.6之…

Django部署时静态文件配置的坑

Django部署时静态文件配置配置的坑 近期有个需求是用django进行开发部署,结果发现静态文件配置的坑是真的多,另外网上很多的内容也讲不清楚原理,就是这样这样,又那样那样,进了不少坑,这里记录一下关于css,…

SQL基础理论篇(六):多表的连接方式

文章目录 简介笛卡尔积等值连接非等值连接外连接自连接其他SQL92与SQL99中连接的区别不同DBMS下使用连接的注意事项参考文献 简介 SQL92中提供了5类连接方式,分别是笛卡尔积、等值连接、非等值连接、外连接(左连接、右连接、全外连接(full outer join、全连接))和自…

C# 图解教程 第5版 —— 第15章 事件

文章目录 15.1 发布者和订阅者15.2 源代码组件概览15.3 声明事件15.4 订阅事件15.5 触发事件15.6 标准事件的用法15.6.1 通过扩展 EventArgs 来传递数据15.6.2 移除事件处理程序 15.7 事件访问器 15.1 发布者和订阅者 ​ 发布者 / 订阅者模式:发布者定义了一系列事…

SSM整合原理和实战

一、SSM整合理解 父工程用pom 我原来没见过,

开源与闭源:数字化时代的辩论与未来走向

在当今的数字化时代,关于开源和闭源软件的辩论一直是技术界的热门话题。 特斯拉CEO马斯克最近也加入了这场辩论,公开表示OpenAI不应该闭源,而他自己的首款聊天机器人将选择开源。 这引发了人们对开源与闭源软件的进一步思考:开源是…

【Java】详解多线程通信

🌺个人主页:Dawn黎明开始 🎀系列专栏:Java ⭐每日一句:什么都不做,才会来不及 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️ 文章目录 🔐多…

Android——模块级build.gradle配置——applicationId和namespace

官方地址: 配置应用模块-applicationId和namespace了解 build.gradle 中的实用设置。https://developer.android.google.cn/studio/build/configure-app-module?hlzh-cn 产生那些异常场景: Android:Namespace not specified. Please spec…

【电路笔记】-脉冲宽度调制(PWM)与电机转速控制

脉冲宽度调制(PWM)与电机转速控制 文章目录 脉冲宽度调制(PWM)与电机转速控制1、概述2、电机转速控制3、PWM产生 有许多不同的方法来控制直流电机的速度,但一种非常简单且容易的方法是使用脉冲宽度调制(PWM…

ES Kibana 安装

ES & Kibana 本文基于Docker安装部署使用 Kibana的版本和ElasticSearch的版本,以及IK分词器的版本一一对应 Kibana 安装 安装Kibana # 创建网络 [rootiZ2zeg7mctvft5renx1qvbZ ~]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway …

数据结构树与二叉树的实现

目录 一、普通树的存储结构 1、双亲表示法 2.孩子表示法 二、二叉树 1.二叉树的顺序存储(必须是完全二叉树,否则很浪费空间) 1)结构体 2.二叉树的链式存储 1)结构体 2)操作 1.创建一颗二叉树 2.创…

kubernetes--数据存储

目录 一、数据存储引言: 二、基础存储卷: 1. emptyDir存储卷: 2. hostPath存储卷: 3. nfs共享存储卷: 3.1 配置nfs: 3.2 master节点编写yaml文件: 4. 总结: 三、PVC和PV: 1. PV 的…

vivado产生报告阅读分析6-时序报告2

1、复查时序路径详情 单击“ OK ”运行报告命令后 , 将打开一个新窗口。这样您即可复查其中内容。在其中可查看执行选定的每种类型 (min/max/min_max ) 的分析之后所报告的 N 条最差路径。 下图显示的“Report Timing ” ( 时序报告 ) 窗口…

【无标题】chapter6卷积

此例以说明全连接层处理图片的时候会遇到参数过多 模型过大的问题 参数比要研究的物体总数还多 卷积,特殊的全联接层 平移不变形,局部性 原本权重为二维(输入和输出全联接,想想下表组合,就是个二维的矩阵)…

pytorch 安装 2023年

pytorch网址:https://pytorch.org/get-started/locally/ conda install pytorch torchvision torchaudio pytorch-cuda11.8 -c pytorch -c nvidia我在自己电脑上用这个pip命令完全安装不了,只能用conda安装。复制上面提供的命令,在cmd中直接运…