Halcon 和 C# 联合编程 - 如何使用开源项目 ViewROI

声明

HWndCtrl _viewCtrl;
ROIController _roiCtrl;

初始化

_viewCtrl = new HWndCtrl(hWindowControl);
_roiCtrl = new ROIController();
_viewCtrl.useROIController(_roiCtrl);

显示图像

HImage hImage = new HImage(image);
_viewCtrl.addIconicVar(hImage); // 注意不可以是HObject类型
_viewCtrl.resetWindow();
_viewCtrl.repaint();

设置/更改查看图像的模式

// 正常模式(重置)
_viewCtrl.resetAll();
_viewCtrl.repaint();
_viewCtrl.setViewState(HWndCtrl.MODE_VIEW_NONE); // 移动模式
_viewCtrl.setViewState(HWndCtrl.MODE_VIEW_MOVE); // 放大模式
_viewCtrl.setViewState(HWndCtrl.MODE_VIEW_ZOOMWINDOW); // 缩放模式
_viewCtrl.setViewState(HWndCtrl.MODE_VIEW_ZOOM);

创建ROI

// 设定ROI类型,这里以正交长方形为例
ROIRectangle1 rect1 = new ROIRectangle1();
_roiCtrl.setROIShape(rect1); // 添加这段程序,在指定位置创建ROI;假如没有这段程序,则在鼠标点击的地方创建ROI
_roiCtrl.mouseDownAction(x, y);

懂得以上这些就能对这个项目进行基础应用啦,当然这个项目的功能远不止这些,甚至该项目太久没更新了,功能也还不够强大,远远不能满足日益复杂的需求,而这些都需要深入研究该项目的每个成员变量、方法和委托,然后再根据自己的需求完善该项目。

师傅领进门,修行靠个人...我当初都没人领,深知个人苦修不易,便在此抛转引玉,技术,交流才是王道。闭门造车?肤浅!

上一篇:Java8 新特性之流式数据处理


下一篇:linux上遇到tomcat报Out of Memory错误,导致jenkins崩溃的问题