注册 登录
编程论坛 VC++/MFC

图像裁剪如何实现

紧张弟 发布于 2012-03-03 16:04, 3199 次点击
我想通过鼠标的划线来实现某区域的图像裁剪,请问各位大神如何实现呀?
7 回复
#2
张敏樱木花道2012-03-03 17:08
我以前用C+SDK实现过。给你点提示:
1,GetDesktopWindow();//得到桌面的句柄
2,GetDC(hWndDesktop);//得到桌面的DC
3,CreateCompatibleDC(hScr);//在内存中创建兼容DC
4,CreateCompatibleBitmap(hScr,ScrWidth,ScrHeight);//创建一个和屏幕相兼容的位图
5,SelectObject(hMem,hBitmap);//将该位图选入内存
6,BitBlt(hMem,0,0,ScrWidth,ScrHeight,hScr,0,0,SRCCOPY);//复制屏幕图像到内存中
7,SelectObject(hMem,hOldBitmap);//得到内存中位图的
。。。。。。。
接下来就是显示这幅位图了。

你去MSDN中查找这些函数,基本可以实现你想要的功能。如果在截图的时候出现黑的图像,就要注意
BitBlt(hMem,0,0,ScrWidth,ScrHeight,hScr,0,0,SRCCOPY);这个函数。
在试验中出现什么问题,可以加我Q.希望对你有帮助!
#3
mayuebo2012-03-04 12:08
像QQ那样的屏幕截图?
#4
donggegege2012-03-04 19:27
好想通过创建对话框也能实现,把属性设为透明的
#5
紧张弟2012-03-05 18:58
回复 2楼 张敏樱木花道
你这是显示吧,我想实现的是,显示位图后用鼠标任意画出一个封闭区域,然后将该区域裁剪出来移到旁边。。。
#6
紧张弟2012-03-05 18:59
回复 3楼 mayuebo
不是,请看上面回复!!
#7
donggegege2012-03-05 21:39
我在图书馆查过啦
通过创建对话框可以实现你说的。
#8
紧张弟2012-03-05 22:32
回复 7楼 donggegege
怎么做呢,可以提醒下吗?
1