使用视频采集卡,通过CCD摄像头采集图象,已经能正常显示,现需要实现通过鼠标拖动,在动态视频图象上画透明矩形,我的步骤如下:
1,以OnLButtonDown中光标点为起点;
2,在OnMouseMove中画矩形;
3,以OnLButtonUp中光标点为终点;现在可以画出矩形,但有两个问题:
1,矩形不透明,把视频图象覆盖了,怎么画透明矩形呢?
2,画新矩形时,老的矩形没有清除掉,怎么能在画新矩形时,清除之前矩形,并保证不闪烁??急需各位大哥大姐指点迷津,感激不尽,分不够我再给,谢谢谢谢啊!
1,以OnLButtonDown中光标点为起点;
2,在OnMouseMove中画矩形;
3,以OnLButtonUp中光标点为终点;现在可以画出矩形,但有两个问题:
1,矩形不透明,把视频图象覆盖了,怎么画透明矩形呢?
2,画新矩形时,老的矩形没有清除掉,怎么能在画新矩形时,清除之前矩形,并保证不闪烁??急需各位大哥大姐指点迷津,感激不尽,分不够我再给,谢谢谢谢啊!
笨的方法是把矩形改成四条线LineTo画
复杂点的方法是把背景和你的矩形画到内存DC中然後再BitBlt
如果不是Overlay的,可能在Render之前加一个Transform filter.
TO:DentistryDoctor 大哥说的我不是很懂,你说的Overlay是否是在图象上写字? 我现在是想实现用鼠标拖动,在动态图象上画矩形框,以表示选中该区域,您能否详细讲讲该怎么做??
CRgn rgn;
rgn.CreateRectRgnIndirect(&rect);
pDC->SelectClipRgn(&rgn);
pDC->Rectangle(ptStart.x, ptStart.y, ptEnd.x, ptEnd.y); rgn.DeleteObject();上面的代码可将画图范围限定在500*500的矩形范围内
在OnPaint()里画的。
http://community.csdn.net/Expert/topic/5486/5486194.xml?temp=.1242487
我的最后第二次回答