(一)声明
HDevOpMultiWindowImpl ReciveWindow;//声明一个接受C#窗口的类型
HWindow Window;//声明一个Halcon窗口
HDevEngine HEngine = new HDevEngine();//声明一个Halcon引擎
HDevProgram Program;//声明一个获取,hdev的参数类型
HDevProgramCall ProgramCall;//声明一个可以启动的类,类似于可以点出来一些方法来获取,hdev里面的参数。
string Route;//声明一个接受.hdev的string类型;
(二)设置
Window = hWindowControl1.HalconWindow;//显而易见
ReciveWindow = new HDevOpMultiWindowImpl(Window);//接受窗口
HEngine.SetHDevOperators(ReciveWindow);//设置窗口操作
//简写
//HEngine.SetHDevOperators(new HDevOpMultiWindowImpl(hWindowControl1.HalconWindow));
Route = @"C:\Users\ASUS\source\repos\zidai\zidai\bin\Debug\Circle.hdev";
Program = new HDevProgram(Route);//把文件读给设定好的参数里面
ProgramCall = new HDevProgramCall(Program);//通过调ProgramCall来进行程序
//简写
//ProgramCall = new HDevProgramCall(new HDevProgram(@"C:\Users\ASUS\source\repos\zidai\zidai\bin\Debug\Circle.hdev"));
接下来拿着这个ProgramCall 来进行操作。
(三)显示、读参
ProgramCall.Execute();//显示
double ModelScore;//定义了一个接收halcon程序里面参数的类型
ModelScore = ProgramCall.GetCtrlVarTuple("ModelScore");//获取这个参数
textBox1.Text = ModelScore.ToString();//在textBox1中显示
(四)展示
目前还没有解决的问题:就是不能再C#Halcon控件中显示并进行操作,欢迎了解这方面的大神评论区留言。