源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961685
画图工具
1. 画直线
Ø 增加‘直线’菜单项,建立类向导;
Ø 对CXXXXXXView类增加成员变量my_draw_flag.并在构造函数中初始化为0
Ø 在‘直线’菜单项处理函数中,将my_draw_flag=1;表示画直线
Ø 增加window消息处理,WM_LBUTTONDOWN 和WM_MOUSEMOVE和WM_LBUTTONUP
Ø 增加成员变量
在构造函数里初始化为0;
增加int型成员变量OnLButtonDownRunFlag,OnLButtonUpRunFlag。并在View类的构造函数中进行初始化为0;
增加IplImage型成员变量
Ø 在OnLButtonDown(UINT nFlags, CPoint point)函数中,保存鼠标按下时的点:
my_cvpoint1=cvPoint(point.x,point.y);
OnLButtonDownRunFlag=1;
OnLButtonUpRunFlag=0;
bufImg=cvCloneImage(workImg);//bufImg是为了保存每次画图结束后的图像。
Ø 在OnMouseMove(UINT nFlags, CPoint point)函数中,编辑代码如下:
if(OnLButtonDownRunFlag&&OnLButtonUpRunFlag==0)
{
CvPointiner_point=cvPoint(point.x,point.y);
IplImage*src;
if(!workImg)
{
return;
}
intthickness,colorR,colorG,colorB;
thickness=2;//线条宽度
colorR=0;
colorG=255;
colorB=0;
src=cvCloneImage(bufImg);
switch(my_draw_flag)
{
case0:
break;
case1:
cvFlip(src);
cvLine(src,my_cvpoint1,iner_point,cvScalar(colorR,colorG,colorB),thickness);
cvFlip(src);
workImg=cvCloneImage(src);//显示当前一条直线
Invalidate();//重绘
break;
}
cvReleaseImage(&src);
}
CScrollView::OnMouseMove(nFlags,point);
Ø 鼠标按下的消息处理函数
void CCVMFCView::OnLButtonUp(UINTnFlags, CPoint point)
OnLButtonUpRunFlag=1;
OnLButtonDownRunFlag=0;
画矩形
1.添加画‘矩形’菜单项
2.设置属性如下:
3.建立类向导,编辑消息响应函数:
void CCVMFCView::OnMyDrawRectangle()
{
//TODO: Add your command handler code here
my_draw_flag=2;
}
4.在mousemove消息响应函数里,添加
cvFlip(src);
cvRectangle(src,my_cvpoint1,iner_point,cvScalar(colorR,colorG,colorB),thickness);
cvFlip(src);
workImg=cvCloneImage(src);//显示当前的矩形
Invalidate();//重绘
画圆
添加菜单的步骤同添加矩形的步骤:
关键是编写case 3:的代码
case 3:
int r=0;
r=(int)sqrt((iner_point.x-my_cvpoint1.x)*(iner_point.x-my_cvpoint1.x)
+(iner_point.y-my_cvpoint1.y)*(iner_point.y-my_cvpoint1.y));
cvFlip(src);
cvCircle(src,my_cvpoint1,r,cvScalar(colorB,colorG,colorR),thickness);
cvFlip(src);
workImg=cvCloneImage(src);//显示当前的矩形
Invalidate();//重绘
break;
分享到:
相关推荐
JPype1-1.1.2-cp37-cp37m-win_amd64
yum-metadata-parser-1.1.2-16.el6.i686.rpm
赠送原API文档:hbase-client-1.1.2-javadoc.jar; 赠送源代码:hbase-client-1.1.2-sources.jar; 包含翻译后的API文档:hbase-client-1.1.2-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:groupId...
kotlin-compiler-1.1.2-5.zip
kotlin-android-extensions-1.1.2-4.jar 欢迎关注终端研发部进行学习和交流
资源包含yum-metadata-parser-1.1.2-4.el5.x86_64.rpm、yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm,两个文件,用于装yum的资源
赠送原API文档:jakarta.websocket-api-1.1.2-javadoc.jar; 赠送源代码:jakarta.websocket-api-1.1.2-sources.jar; 赠送Maven依赖信息文件:jakarta.websocket-api-1.1.2.pom; 包含翻译后的API文档:jakarta....
赠送原API文档:jakarta.websocket-api-1.1.2-javadoc.jar; 赠送源代码:jakarta.websocket-api-1.1.2-sources.jar; 赠送Maven依赖信息文件:jakarta.websocket-api-1.1.2.pom; 包含翻译后的API文档:jakarta....
资源分类:Python库 所属语言:Python 资源全名:pycalculix-1.1.2-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
hbase-1.1.2-bin.tar.gz 目前用户atlas1.1.0编译安装时资源
赠送原API文档:core-1.1.2-javadoc.jar; 赠送源代码:core-1.1.2-sources.jar; 包含翻译后的API文档:core-1.1.2-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId:com.github.fommil.netlib,...
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
赠送原API文档:hbase-annotations-1.1.2-javadoc.jar; 赠送源代码:hbase-annotations-1.1.2-sources.jar; 包含翻译后的API文档:hbase-annotations-1.1.2-javadoc-API文档-中文(简体)-英语-对照版.zip 对应...
赠送原API文档:hbase-annotations-1.1.2-javadoc.jar; 赠送源代码:hbase-annotations-1.1.2-sources.jar; 赠送Maven依赖信息文件:hbase-annotations-1.1.2.pom; 包含翻译后的API文档:hbase-annotations-1.1.2...
赠送原API文档:hbase-client-1.1.2-javadoc.jar; 赠送源代码:hbase-client-1.1.2-sources.jar; 赠送Maven依赖信息文件:hbase-client-1.1.2.pom; 包含翻译后的API文档:hbase-client-1.1.2-javadoc-API文档-...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
赠送原API文档:core-1.1.2-javadoc.jar; 赠送源代码:core-1.1.2-sources.jar; 赠送Maven依赖信息文件:core-1.1.2.pom; 包含翻译后的API文档:core-1.1.2-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven...
赠送原API文档:hbase-common-1.1.2-javadoc.jar; 包含翻译后的API文档:hbase-common-1.1.2-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:groupId:org.apache.hbase,artifactId:hbase-common...
赠送原API文档:hbase-common-1.1.2-javadoc.jar; 赠送Maven依赖信息文件:hbase-common-1.1.2.pom; 包含翻译后的API文档:hbase-common-1.1.2-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.hbase:...
OpenGL的Java绑定,经本人亲测,没问题