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.X 和 cgRect.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.CenterX 和 cgCirc.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,表示不自动更新图形。

总结

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

相关推荐
用户7884773163418 小时前
WinForms 迁移 WPF:Upgrade Assistant 覆盖 30%,剩下 70% 我手写了六周
c#
寂寞的船1 天前
【Unity知识速递】第13期 Unity 内存泄漏排查实战:从 Memory Profiler 到 Lua 引用泄漏的生产级全链路诊断
unity·junit·c#·游戏引擎·lua
jay神2 天前
基于 YOLOv8 的手势识别系统(Web 版)
前端·人工智能·python·深度学习·yolo·计算机视觉·计算机毕业设计
用户3721574261352 天前
C# 提取 PDF 附件:包括文档附件和页面注释附件
c#
寂寞的船2 天前
【Unity Bug挑战】第12期 Awaitable 二次 await 死锁之谜 —— 为什么同一个异步操作等两次就卡死?
unity·c#·游戏引擎·bug
wangxiaoxuan2172 天前
TF2 的原理与使用:把坐标、运动和观测时间一起算清楚
计算机视觉·机器人·科沃斯八界
硅谷秋水2 天前
EgoHumanoid‑V2 方法分析
人工智能·机器学习·计算机视觉·语言模型·机器人
BYSJMG2 天前
计算机毕业设计选题推荐:【基于深度学习的车辆损坏严重程度评估方法研究】ResNet50 图像分类
人工智能·深度学习·目标检测·机器学习·计算机视觉·分类·课程设计
BYSJMG2 天前
计算机毕业设计选题推荐|【基于深度学习的电梯电动车违规进入检测研究】YOLO26m+可视化大屏
人工智能·深度学习·神经网络·目标检测·机器学习·计算机视觉·课程设计
硅谷秋水3 天前
将闲科技(LiberAI)提出世界动作模型Liber-0
机器学习·计算机视觉·语言模型·机器人