VisionPro二次开发笔记6-添加显示工具栏和状态栏

添加显示工具栏和状态栏

通过Cognex Display工具栏,您可以在Cognex Display控件中操作图像,而Cognex Display状态栏将显示有关该图像的信息。下图显示了Cognex Display控件以及工具栏和状态栏:

在这里插入图片描述

要将工具栏和状态栏添加到Visual Studio.NET应用程序,请执行以下步骤:

  1. 选择“项目”->“添加引用”,然后添加对程序集Cognex.VisionPro.Controls的引用,该程序集包含工具栏和状态栏的对象和实例。

  2. 将显示控件CogDisplay添加到Windows窗体中,如下图所示:

在这里插入图片描述

  1. 切换到Visual Studio.NET工具箱的VisionPro系统控制选项卡,然后选择CogDisplayToolbarV2,将CogDisplayToolbarV2控件添加到Windows窗体中
    ,如下图所示:

在这里插入图片描述

  • 指针(用于选择和移动图形)
  • 平移光标(用于平移图像)
  • 放大光标(单击可放大)
  • 缩小光标(单击可缩小)
  • 使图像适合显示(根据需要平移和缩放)
  • 将图像缩放到100%(每个图像像素1个显示像素)
  • 像素网格线(放大时显示)
  • 子像素网格线(放大时显示)
  1. (可选)您可以选择将工具栏停靠在Windows窗体的顶部

注意:如果您的表单使用ToolStrips而不是工具栏,或者要将控件添加到现有工具栏,请使用CogDisplayToolStrip而不是工具栏控件

  1. 将工具栏连接到Cognex Display控件,如下面的C#示例所示,其中工具栏变量为cogDisplayToolbarV21,Display控件变量为cogDisplay1。
cogDisplayToolbarV21.Display = cogDisplay1;
  1. 从Visual Studio.NET工具箱中选择CogDisplayStatusBarV2

  2. 将CogDisplayStatusBarV2添加到Windows窗体中

在这里插入图片描述

  • 选择要显示的空间
  • 光标指针的坐标(在选定空间中)
  • 用于显示空间的弹出式菜单
  • 当前缩放系数
  • 光标指针上的像素值
  1. (可选)您可以选择将状态栏停靠在Windows窗体的底部

  2. 如以下C#示例所示,将状态栏连接到Cognex Display控件,其中状态栏变量为cogDisplayStatusBarV21,而Display控件变量为cogDisplay1。

cogDisplayStatusBarV21.Display = cogDisplay1;

工具栏和状态栏现在将与CogDisplay控件一起使用。

  1. 完整示例如下:
using Cognex.VisionPro.ImageFile;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace UsingQB
{
    public partial class Form7 : Form
    {
        CogImageFile ImageFile;
        int counter;
        int maxImages;
        public Form7()
        {
            InitializeComponent();
            InitializeDisplay();
        }
        /// <summary>
        /// 初始化显示相关的控件,使得工具栏和状态栏可以与 cogDisplay1 进行交互。
        /// 这通常是在应用程序启动时或窗体加载时调用,以确保用户界面中的各个部分能够正确地显示和控制图像的显示
        /// </summary>
        private void InitializeDisplay() {
            cogDisplayToolbarV21.Display = cogDisplay1;
            cogDisplayStatusBarV21.Display = cogDisplay1;
        }
        private void InitializeFifo()
        {
            ImageFile = new CogImageFile();
            ImageFile.Open(textBoxFilePath.Text, CogImageFileModeConstants.Read);
            counter = 0;
            maxImages = ImageFile.Count;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog fileDialog = new OpenFileDialog())
            {
                if (fileDialog.ShowDialog() == DialogResult.OK)
                {
                    textBoxFilePath.Text = fileDialog.FileName;
                }
            }
            InitializeFifo();

           
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (ImageFile == null)
            {
                MessageBox.Show("没有输入图像!");
            }
            if (counter == maxImages)
            {
                counter = 0;
            }
            cogDisplay1.Image = ImageFile[counter];
            counter = counter + 1;
            label1.Text = $"第{counter}/{maxImages}张";
        }
    }
}

项目示例

整理了包含本文章的11个使用C#进行Cognex VisionPro二次开发学习笔记的示例源码,涵盖了从创建基于QuickBuild的应用程序到使用PMAlign和Caliper工具进行图像处理的多种实践案例,欢迎学习和指正
视觉领域 + 计算机视觉 + Cognex VisionPro + C#二次开发示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值