vc++如何实现在位图图像上指定点或者区域做矩形标记?高分求助!可以追加分数!

初学MFC,编程图像处理算法不是很会,我做匹配是,找到两幅图像的不同之处,然后想在图像上用矩形或者其他形状方框标记出来,并标记数字以记录个数,这个能用vc++编程实现么?求助~~~~能给我源程序的分数全给了!

第1个回答  2012-10-19
VC专门有图形编程的书籍
这个思路是获取鼠标当前坐标点,然后跟你的程序坐标轴做匹配
实时跟踪鼠标位移move事件,得到最新坐标点,调用矩形绘制矩形
刷新,直到获取鼠标左键抬起事件,最终绘制矩形
然后计数

代码比较多,你看书上写的吧,或者网上找找VC绘图板之类的源代码,我手头也没有代码本回答被网友采纳
第2个回答  2012-10-19
CRect rc;
dc.Draw3dRect(&rc,RGB(255,0,0,),RGB(255,0,0));
把rc这个区域绘制红色边框。
CString str; int n = 3;
str.Format("%d",n);
dc.DrawText(str,-1,&rc,DT_SINGLELINE|DT_VCENTER|DT_CENTER);
将数字3在rc区域的正中间显示。
由于数字会改变,所以需要刷新这个区域。InvalidateRect(&rc);追问

这个是在图片显示的对话框上 画方框吧? 不是在图像上吧?

追答

那你创建个兼容dc,选择图片,然后把边框画到兼容dc上,最后把兼容dc copy到窗口dc上。

本回答被提问者采纳