0


C#与VisionPro联合开发——跳转页面

1、跳转页面并打开相机

在这里插入图片描述
From1 所有代码展示

usingSystem;usingSystem.IO;usingSystem.Windows.Forms;//引入VisionPro命名空间usingCognex.VisionPro;namespaceConnectCamera{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}CogAcqFifoTool fifoTool;//窗口加载的Load事件privatevoidForm1_Load(object sender,EventArgs e){//进行相机初始化(这里使用的是本地的vpp文件)string path = Directory.GetCurrentDirectory()+"\\abc.vpp";try{//根据路径读取到vpp文件,初始化fifo对象CogAcqFifoTool fifo =(CogAcqFifoTool)CogSerializer.LoadObjectFromFile(path);if(fifo !=null){
                  MessageBox.Show("相机初始化成功!");if(fifo.Operator.FrameGrabber !=null){
                    fifoTool = fifo;}}}catch(Exception ex){
            MessageBox.Show("初始化失败:"+ ex.Message);}}//相机privatevoidtoolStripLabel1_Click(object sender,EventArgs e){//传递到camera页面,这样取景工具在下一个窗体也可以访问到FrmCamera frm =newFrmCamera(fifoTool);
      frm.ShowDialog();}}}

在这里插入图片描述

FrmCamera 代码展示

usingSystem;usingSystem.Windows.Forms;usingCognex.VisionPro;namespaceConnectCamera{publicpartialclassFrmCamera:Form{//声明 CogAcqFifoToolCogAcqFifoTool acq =null;VisionTool visionPro =newVisionTool();//方法里面传入参数publicFrmCamera(CogAcqFifoTool fofo){InitializeComponent();//显示的是上一个页面传入的图片
      cogAcqFifoEditV21.Subject = fofo;}//保存图像privatevoidtoolStripLabel1_Click(object sender,EventArgs e){string path = Directory.GetCurrentDirectory()+"\\ImageVpp";//没有文件夹则创建一个文件夹if(!Directory.Exists(path)){
          Directory.CreateDirectory(path);}try{
          CogSerializer.SaveObjectToFile(cogAcqFifoEditV21.Subject, path +"\\"+ DateTime.Now.ToString("HHmmss")+".vpp");
          MessageBox.Show("保存vpp成功!");}catch(Exception ex){
          MessageBox.Show(ex.Message);}}}}

2、跳转页面并打开ToolBlock

From1 代码展示

usingSystem;usingSystem.IO;usingSystem.Windows.Forms;//引入VisionProusingCognex.VisionPro;namespaceConnectCamera{publicpartialclassForm1:Form{publicFrom1(){InitializeComponent();}CogToolBlock tb =null;//窗口的Load事件   privatevoidForm1_Load(object sender,EventArgs e){//进行相机初始化(这里使用的是本地的vpp文件)string path = Directory.GetCurrentDirectory()+"\\vpp\\tb.vpp";
      tb =(CogToolBlock)CogSerializer.LoadObjectFromFile(path);}//打开FrmTB窗口privatevoidbtnFrmTB_Click(object sender,EventArgs e){FrmTB frmTB =newFrmTB(tb);
         frmTB.ShowDialog();}}}

FrmTB窗口
在这里插入图片描述
FrmTB 代码展示

usingSystem.Windows.Forms;usingCognex.VisionPro.ToolBlock;namespaceFrameGrabber{publicpartialclassFrmTB:Form{CogToolBlock mTB =null;publicFrmTB(CogToolBlock tb){InitializeComponent();
      mTB = tb;}privatevoidFrmTB_Load(object sender,System.EventArgs e){//把读取到的ToolBlock赋值给当前控件
      cogToolBlockEditV21.Subject = mTB;}}}

本文转载自: https://blog.csdn.net/qq_51810680/article/details/136251975
版权归原作者 郭贝贝同学 所有, 如有侵权,请联系我们删除。

“C#与VisionPro联合开发——跳转页面”的评论:

还没有评论