满意可以继续加分,MFC怎么截取指定区域的图像 100

像QQ,当按下Ctrl+ALT+A时会弹出一个窗口,然后我们可以通过鼠标指定截屏区域的大小。想在MFC主窗口中内嵌一个半透明的窗口,这个窗口的大小和位置可以通过鼠标调整(... 像QQ,当按下Ctrl+ALT+A时会弹出一个窗口,然后我们可以通过鼠标指定截屏区域的大小。想在MFC主窗口中内嵌一个半透明的窗口,这个窗口的大小和位置可以通过鼠标调整(当然不会超出MFC主窗口的范围),窗口位置和大小调整好后,MFC能一直截取这个区域的图像,当下次截屏时不需要重新指定截屏区域,这个怎么做?我用的vs 2010,谢谢! 展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏100(财富值+成长值)
bhtzu
2014-09-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4072万
展开全部

这个问题涉及三个部分:鼠标定区、复制和保存图像、区域坐标存储。你的说明并不明确。

  1. 这个截屏和QQ的截屏不一样,只是窗口范围的话,在窗口OnMouseMove里面做就可以了,涉及的主要是SetCapture、SetROP2、AlphaBlend等函数的使用,百度这些函数名,相关示例代码很多。

  2. 复制和保存你的需求很模糊,可以使用内存DC、序列化、剪贴板等方法都可以,看你的需求了。(百度“VC 图像 剪贴板”)

  3. 记录和恢复坐标数据,如果希望关闭程序后再次打开依然有效,你需要存储这些坐标(一个RECT或者两个POINT)到本地,可以通过注册表、INI文件(WritePrivateProfileInt)或者文本文件保存(CFile::Read/Write)。

其实这些功能,每个单独去百度相关关键词,都能得到参考代码,单个功能并不复杂,但要根据实际需求和情况来选择使用。

追问
能帮我写个程序不?我MFC不怎么懂,就会C语言
追答
抱歉,只帮忙分析问题不代做。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式