VisionPro二次开发学习笔记4-使用C#创建绘图图形

VisionPro提供了许多可以添加到CogDisplay的基本形状,例如CogCircle,CogRectangle,CogEllipse和CogRectangleAffine。这些形状可以是用户可以用鼠标操作的交互式图形,也可以是用户无法更改的静态形状。

若要在CogDisplay控件上绘制图形,您需要在Visual Studio.NET应用程序中添加对Cognex.VisionPro,Cognex.VisionPro.Core和Cognex.VisionPro.Display.Controls程序集的引用。

绘制图形

以下编程语句创建CogRectangle和CogCircle的实例,设置其属性,并将其添加到CogDisplay控件。

  1. 添加引用
csharp 复制代码
using Cognex.VisionPro;
using Cognex.VisionPro.Display;
  1. 声明变量
csharp 复制代码
CogRectangle cgRect;
CogCircle cgCirc;
  1. 创建图形对象

    csharp 复制代码
    cgRect = new CogRectangle();
    cgCirc = new CogCircle();
    • cgRect 是一个矩形对象的实例,cgCirc 是一个圆对象的实例。这两个对象都是 Cognex VisionPro 中用于图形表示的类。
  2. 设置矩形的属性

    csharp 复制代码
    cgRect.X = 150;
    cgRect.Y = 150;
    cgRect.Color = CogColorConstants.Green;
    cgRect.SelectedSpaceName = "*";
    cgRect.Interactive = true;
    • cgRect.XcgRect.Y:设置矩形的左上角坐标为 (150, 150)。
    • cgRect.Color:设置矩形的颜色为绿色。
    • cgRect.SelectedSpaceName:设置为 "*",表示该图形可以在任何坐标空间中选择。
    • cgRect.Interactive:设置为 true,表示该矩形是交互式的,用户可以与之进行交互。
  3. 设置矩形的交互属性

    csharp 复制代码
    cgRect.GraphicDOFEnable = CogRectangleDOFConstants.Size;
    • GraphicDOFEnable:设置用户可以交互的属性,这里指定用户只能改变矩形的大小,而不能移动其位置或改变其他属性。
  4. 设置圆的属性

    csharp 复制代码
    cgCirc.CenterX = 220;
    cgCirc.CenterY = 220;
    cgCirc.Color = CogColorConstants.Blue;
    cgCirc.SelectedSpaceName = "*";
    cgCirc.Interactive = true;
    • cgCirc.CenterXcgCirc.CenterY:设置圆的中心坐标为 (220, 220)。
    • cgCirc.Color:设置圆的颜色为蓝色。
    • cgCirc.SelectedSpaceName:与矩形类似,表示该圆也可以在任何坐标空间中选择。
    • cgCirc.Interactive:设置为 true,表示该圆是交互式的。
  5. 设置圆的交互属性

    csharp 复制代码
    cgCirc.GraphicDOFEnable = CogCircleDOFConstants.Radius;
    • GraphicDOFEnable:这里指定用户只能改变圆的半径,而不能移动其中心或改变其他属性。
  6. 将图形添加到显示控件

    csharp 复制代码
    cogDisplay1.InteractiveGraphics.Add(cgCirc, null, false);
    cogDisplay1.InteractiveGraphics.Add(cgRect, null, false);
    • cogDisplay1.InteractiveGraphics.Add:将创建的圆和矩形添加到 cogDisplay1 控件的交互图形列表中。第二个参数为 null,表示不指定图形的标签,第三个参数为 false,表示不自动更新图形。

总结

这个方法的作用是初始化两个图形(一个矩形和一个圆),并将它们添加到一个显示控件中,使得用户可以通过鼠标交互来调整这些图形的大小(矩形)和半径(圆)。通过设置颜色、交互属性和允许的交互方式,提供了一个用户友好的图形界面,便于用户进行视觉化操作。

相关推荐
不爱写代码的玉子38 分钟前
HALCON透视矩阵
人工智能·深度学习·线性代数·算法·计算机视觉·矩阵·c#
sbc-study1 小时前
PCDF (Progressive Continuous Discrimination Filter)模块构建
人工智能·深度学习·计算机视觉
EasonZzzzzzz1 小时前
计算机视觉——相机标定
人工智能·数码相机·计算机视觉
春末的南方城市1 小时前
港科大&快手提出统一上下文视频编辑 UNIC,各种视频编辑任务一网打尽,还可进行多项任务组合!
人工智能·计算机视觉·stable diffusion·aigc·transformer
开开心心就好4 小时前
高效Excel合并拆分软件
开发语言·javascript·c#·ocr·排序算法·excel·最小二乘法
且慢.5894 小时前
Python_day47
python·深度学习·计算机视觉
Unpredictable2224 小时前
【VINS-Mono算法深度解析:边缘化策略、初始化与关键技术】
c++·笔记·算法·ubuntu·计算机视觉
一名用户5 小时前
unity实现自定义粒子系统
c#·unity3d·游戏开发
钢铁男儿7 小时前
C# 类和继承(扩展方法)
java·servlet·c#
爱炸薯条的小朋友7 小时前
C#由于获取WPF窗口名称造成的异常报错问题
windows·c#·wpf