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

像QQ,当按下Ctrl+ALT+A时会弹出一个窗口,然后我们可以通过鼠标指定截屏区域的大小。想在MFC主窗口中内嵌一个半透明的窗口,这个窗口的大小和位置可以通过鼠标调整(当然不会超出MFC主窗口的范围),窗口位置和大小调整好后,MFC能一直截取这个区域的图像,当下次截屏时不需要重新指定截屏区域,这个怎么做?我用的vs 2010,谢谢!

第1个回答  2014-09-16

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

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

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

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

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

追问

能帮我写个程序不?我MFC不怎么懂,就会C语言

追答

抱歉,只帮忙分析问题不代做。

本回答被网友采纳

满意可以继续加分,MFC怎么截取指定区域的图像
这个截屏和QQ的截屏不一样,只是窗口范围的话,在窗口OnMouseMove里面做就可以了,涉及的主要是SetCapture、SetROP2、AlphaBlend等函数的使用,百度这些函数名,相关示例代码很多。复制和保存你的需求很模糊,可以使用内存DC、序列化、剪贴板等方法都可以,看你的需求了。(百度“VC 图像 剪贴板”)记录和...

【高分相送】如何在MFC中使用LoadImgae函数
mfc里导入 图片资源,自动生成一个资源id(自己改名也可以)比如IDB_BITMAP1 然后 CBitmap bitmap;bitmap.LoadBitmap(IDB_BITMAP1);显示出来的话再接着用dc就可以了 --- 那试试这样 m_bitmap.m_hObject = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),_T("对应路径...\\\\bitmap1.bmp"),...

如何将mfc单文档的空白区域裁成两个?
用MFC提供的一个类,好象叫CSplitWndView、CSplitterWnd什么之类的。建议搜一下。

在MFC中,如何读取外部的位图文件,让它显示在图片控件(Picture Control...
1.在你的对话框添一个按钮和一个图片控件(Picture Control).2.添加一个类,我这里上传不了,只能将.h和.cpp复制过来,你再将拷贝到txt里,改一下扩展名就可以了。这是Picture.h#if !defined(AFX_PICTURE_H__COPYFREE_BY_YOVAV_GAD__SOURCES_AT_SUPERMAIN_DOT_COM__INCLUDED_)#define AFX_PICTURE_H__COPY...

当鼠标移到指定区域时 弹出一个窗口 MFC
最简单就是在文本所在的那个窗口里响应 WM_MOUSEMOVE事件,这个事件的参数里面就带着鼠标位置。

MFC怎么能把桌面上的一张图片给显示在界面上,求帮忙,最好能写一下代码...
如欲显示其他格式的图片,可以用到CImage类,CImage类是ATL和MFC共用的一个类,其头文件为atlimage.h,主要用于图片文件的打开,显示与保存。这里需要注意的是,在VS2010和VS2012的MFC编程中,不需要将头文件包含进来。显示图片:CImage image;image.Load(L"D:\\\\用户目录\\\\Pictures\\\\example.jpg");...

在兄弟打印机mfc-230c 安装的时候 提示找不到模块(答案满意加分)
一件还原后打印机驱动程序就被删除掉了,必须重新装。建议用光盘安装,即先断开打印机和电脑的连接,等安装程序提示连接打印机和电脑的时候在接上,不然驱动没法继续完成安装。装完后需要重启电脑。

谁把电脑常用英语单词写给我,给50分,随后还可以加分,最少10个以上,要...
串口1:使用该选项可控制内置串口的操作。设置为“AUTO”时,如果通过串口扩展卡在同一个端口地址上使用了两个设备,内置串口自动重新分配可用端口地址。串口先使用COM1,再使用COM2,如果两个地址都已经分配给某个端口,该端口将被禁用。. Parallel Port 并口:该域中可配置内置并口 Mode 模式:设置为“AT”时内置并口...

相似回答