首页 > 其他分享 >VisionPro二次开发笔记6-添加显示工具栏和状态栏

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

时间:2024-08-07 16:28:38浏览次数:18  
标签:控件 工具栏 状态栏 System 二次开发 using Display

通过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}张";
        }
    }
}

标签:控件,工具栏,状态栏,System,二次开发,using,Display
From: https://blog.csdn.net/qq_44082700/article/details/140984455

相关文章

  • Visionpro二次开发学习笔记7-使用CogToolDisplay控件
    CogToolDisplay控件可显示与视觉工具记录相关的图像,图形和其他状态信息。它使用CogRecord和ICogTool接口将图像和图形连接到CogDisplay。图片清单控件的CogComboBox列出当前记录及其子记录中的图像和图形。您可以单击列表并选择要显示的图像或图形。如果记录层次结构仅包......
  • golang sliver二次开发自定义命令(格式乱后面再调)
    准备工作sliver客户端和服务端之间命令的通信采用的grpc,服务端和和植入程序通信使用的protobuf,所以在开发之前需要了解grpc和protobuf,相关文档:https://jergoo.gitbooks.io/go-grpc-practice-guide/content/chapter2/hello-grpc.htmlhttps://jergoo.gitbooks.io/go-grpc-pra......
  • VisionPro二次开发学习笔记1-创建基于QuickBuild的C#应用程序
    创建基于QuickBuild的C#应用程序使用的QuickBuild应用程序位于%VPRO_ROOT%/Samples/Programming/QuickBuild/advancedAppOne.vpp中。在继续之前,可以在QuickBuild中运行该应用程序。QuickBuild应用程序使用PatMax查找支架的“耳朵”之一,使用CogFixture工具设置图像的......
  • vue + quill2.0+ 工具栏自定义行高
    在网上查了好多,基本都是基于1.0+版本的,拿过来都用不了,官方又没有文档,只能参考各位前辈的经验+解析源码查找问题。目前已经解决,下面是实现过程。实现代码  先看效果图我用的是原生quill库,正常引入quill,注册行高插件importQuillfrom'quill'import'quill/dist/quill.......
  • 电脑技巧 | 你想拥有这样的自定义工具栏命令按钮吗?QTTabBar帮助你实现!
      【电脑技巧】第90期:你想拥有这样的自定义工具栏命令按钮吗?QTTabBar帮助你实现!    ......
  • Vue+cesium二次开发实例
    创建Vue3项目首先使用vue createvue-demo(自定义项目名)创建一个vue3项目接下来选择自定义配置,这里我们选择Router,其他几个按需选择选择vue3版本这里选择否(输入N),其他几项可以跳过,回车即可配置项目文件项目创建成功,接下来我们在VScode中打开这个文件夹,并新建一个终端......
  • NX二次开发(python)-创建管(一)
    用UF函数创建管,下图为NXOpenPython的参考指南:1.创建管可以用线也可以用边,以下是用线创建管的代码,先创建一个非关联线后再创建一个管importNXOpen.UFsign=NXOpen.UF.Modl.FeatureSigns.ValueOf(0)line_coords=NXOpen.UF.Curve.Line()line_coords.StartPoint=[0.0,0.0......
  • QT mainwindow UI界面添加工具栏
    1.在mainwindowUI设计器界面右上角右键mainwindow 弹出如下菜单图1可以看到添加工具栏,移除状态栏等相关操作都在菜单中2.新建action相关菜单项图2在红框中的ActionEdit中,第一行菜单栏按钮(分别是新建,复制,粘贴,删除,修改)点击以进行创建鼠......
  • C# Solidworks二次开发------零件的打开与保存
    一、思路 针对于零件的打开与保存,我将使用API函数帮助手册,通过观看手册来进行编程。函数的名称很多都很英文相关,打开---Open,保存---Save,而且无论是零件、装配体还是工程图,都需要这两个操作,要么是他们的“领导”,都可以对三者进行操作,要么就是各自的操作方法,所以可以按照这两......
  • 若依ruoyi+AI项目二次开发
    //-------------------------//定义口味名称和口味列表静态数据constdishFlavorListSelect=ref([ {name:"辣度",value:["不辣","微辣","中辣","重辣"]}, {name:"忌口",value:["不要葱","不要蒜","不要香菜",&quo......