C#Halcon联合编程动态生成显示窗口

ops/2024/12/26 1:20:15/

UI编辑界面

.exe显示界面

代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using HalconDotNet;namespace Test HWindow 动态生成窗口
{public partial class Form1 : Form{//声明全局窗口变量List<ChoiceTech.Halcon.Control.HWindow_HE> hw = new List<ChoiceTech.Halcon.Control.HWindow_HE>();ChoiceTech.Halcon.Control.HWindow_HE hw1 = new ChoiceTech.Halcon.Control.HWindow_HE() { Dock = DockStyle.Fill };ChoiceTech.Halcon.Control.HWindow_HE hw2 = new ChoiceTech.Halcon.Control.HWindow_HE() { Dock = DockStyle.Fill };TableLayoutPanel tableLayoutPanel;public Form1(){InitializeComponent();}/// <summary>/// 创建布局器/// </summary>/// <returns>返回TableLayoutPanel容器</returns>/// public TableLayoutPanel CreateTableLayoutPanel(int column,int row){//实例化布局器TableLayoutPanel tableLayoutPanel = new TableLayoutPanel();//设置布局器的行列数tableLayoutPanel.ColumnCount = column;tableLayoutPanel.RowCount = row;for (int i = 0; i < row; i++){tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, (100 / row)));//百分比}for (int i = 0; i < column; i++){tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, (100 / column)));}//设置为填充满的模式tableLayoutPanel.Dock = DockStyle.Fill;//返回布局器return tableLayoutPanel;}private void button1_Click(object sender, EventArgs e){int CamCount = 2;//int CamCount = Convert.ToInt16(textBox1.Text);tableLayoutPanel = CreateTableLayoutPanel( CamCount,1);//?列?行//tableLayoutPanel  增加列 行tableLayoutPanel.Controls.Add(hw1,0,0);//列,行tableLayoutPanel.Controls.Add(hw2, 1, 0);//HOperatorSet.SetWindowParam(hw1.hWindowControl.HalconWindow, "background_color", "white");panel1.Controls.Add(tableLayoutPanel) ;}private void button2_Click(object sender, EventArgs e){HObject obj1 = new HObject();HOperatorSet.ReadImage(out obj1, @"E:\项目\电芯上料现场\3拉\20240410_v1.0_3L\20240411_v2.0_3L\315标定图\泡沫横1\2.bmp");hw1.HobjectToHimage(obj1);HObject obj2 = new HObject();HOperatorSet.ReadImage(out obj2, @"E:\项目\电芯上料现场\3拉\20240410_v1.0_3L\20240411_v2.0_3L\315标定图\泡沫横1\3.bmp");hw2.HobjectToHimage(obj2);}}
}


http://www.ppmy.cn/ops/144985.html

相关文章

全视通物联数据中台解决方案助力智慧医院新时代

全国医院物联网大会系列活动暨【行走的课堂】标杆研学 四川站“医院物联网应用创新经验交流会”&#xff0c;近日在成都召开。珠海全视通信息技术有限公司总经理林三朝以《物联网技术助力医院高质量发展》为题做了精彩演讲。林总就物联网技术如何助力医院高质量发展&#xff0c…

Flutter:生成二维码

qr_flutterAPI # 二维码 qr_flutter: ^4.1.0// 主视图 import package:qr_flutter/qr_flutter.dart;Widget _buildView() {return <Widget>[QrImageView(data: 10086,version: QrVersions.auto,size: 400.w,gapless: false,embeddedImage: const AssetImage(assets/img/…

MDS-NPV/NPIV

在存储区域网络&#xff08;SAN&#xff09;中&#xff0c;域ID&#xff08;Domain ID&#xff09;是一个用于区分不同存储区域的关键参数。域ID允许SAN环境中的不同部分独立操作&#xff0c;从而提高效率和安全性。以下是关于域ID的一些关键信息&#xff1a; 域ID的作用&…

OOP面向对象编程:类与类之间的关系

OOP面向对象编程&#xff1a;类与类之间的关系 三大关系&#xff1a;复合&#xff08;适配器设计模式&#xff09;、委托&#xff08;桥接设计模式&#xff09;、继承 8、1复合Composition has-a -> 适配器模式 一个类里面含有另一个类的对象 —> 复合关系 has-a 适配器设…

iOS - 超好用的隐私清单修复脚本(持续更新)

文章目录 前言开发环境项目地址下载安装隐私访问报告隐私清单模板最后 前言 在早些时候&#xff0c;提交应用到App Store审核&#xff0c;大家应该都收到过类似这样的邮件&#xff1a; Although submission for App Store review was successful, you may want to correct th…

重温设计模式--单例模式

文章目录 单例模式&#xff08;Singleton Pattern&#xff09;概述单例模式的实现方式及代码示例1. 饿汉式单例&#xff08;在程序启动时就创建实例&#xff09;2. 懒汉式单例&#xff08;在第一次使用时才创建实例&#xff09; 单例模式的注意事项应用场景 C代码懒汉模式-经典…

Go语言zero项目部署后启动失败问题分析与解决

在部署一个Go语言项目时&#xff0c;很多时候会遇到服务无法启动的情况&#xff0c;尤其是当项目配置或环境稍有问题时。这篇文章将帮助你分析和解决 systemctl start classin.service 命令启动失败的问题&#xff0c;具体错误信息如下&#xff1a; systemctl status classin.…

鸿蒙项目云捐助第十七讲云捐助我的页面上半部分的实现

鸿蒙项目云捐助第十七讲云捐助我的页面上半部分的实现 在一般的应用app中都会有一个“我的”页面&#xff0c;在“我的”页面中可以完成某些设置&#xff0c;也可以完成某些附加功能&#xff0c;如“修改密码”等相关功能。这里的鸿蒙云捐助也有一个“我的”功能页面。这里对“…