From 004f03913569122866d089a1696ed65c0f4cbcaf Mon Sep 17 00:00:00 2001
From: C3032 <C3032@BC3032>
Date: 星期一, 05 一月 2026 11:07:28 +0800
Subject: [PATCH] Merge branch 'master' into feature/HR_Camera
---
LB_SmartVision/images/favicon.ico | 0
LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.resx | 36 +-
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.cs | 5
LB_SmartVision/images/02.png | 0
LB_SmartVisionLoginUI/MainWindow.xaml | 31 -
LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.Designer.cs | 1
LB_SmartVision/images/键盘.ico | 0
LB_SmartVision/images/06.png | 0
LB_SmartVision/Forms/Pages/CameraPage/CameraForm.Designer.cs | 4
LB_VisionProcesses/Cameras/CameraConfig.cs | 36 +
LB_SmartVision/images/03.png | 0
LB_SmartVision/ProcessRun/ProcessContext.cs | 33 +
LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs | 11
LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.Designer.cs | 409 ++++++++++++++++++-----
LB_SmartVision/images/07.png | 0
LB_SmartVision/VisionForm.Designer.cs | 47 +-
LB_SmartVision/images/01.JPG | 0
LB_SmartVisionLoginUI/LB_SmartVisionLoginUI.csproj | 74 ++++
LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.cs | 145 +++++++
LB_SmartVision/Forms/Pages/CameraPage/CameraForm.resx | 2
LB_SmartVision/images/05.png | 0
LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.Designer.cs | 3
LB_SmartVision/images/lanbao.jpg | 0
LB_SmartVisionLoginUI/App.xaml.cs | 2
LB_SmartVision/images/04.png | 0
LB_SmartVision/ProcessRun/ProcessRunBll.cs | 1
LB_SmartVision/images/logo_h.png | 0
/dev/null | 6
LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs | 42 +-
LB_SmartVision/Forms/Pages/CameraPage/CamerasEditPage.Designer.cs | 2
LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.Designer.cs | 1
LB_SmartVision/images/logo.ico | 0
LB_SmartVision/Program.cs | 77 ++++
33 files changed, 760 insertions(+), 208 deletions(-)
diff --git a/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.Designer.cs b/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.Designer.cs
index 96280ad..92045f0 100644
--- a/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.Designer.cs
@@ -139,6 +139,7 @@
//
// btnSetting
//
+ btnSetting.ForeColor = SystemColors.ControlText;
btnSetting.Location = new Point(3, 18);
btnSetting.Name = "btnSetting";
btnSetting.Size = new Size(97, 29);
@@ -451,8 +452,7 @@
//
// CameraForm
//
- AutoScaleDimensions = new SizeF(96F, 96F);
- AutoScaleMode = AutoScaleMode.Dpi;
+ AutoScaleMode = AutoScaleMode.None;
ClientSize = new Size(900, 600);
Controls.Add(themeForm1);
FormBorderStyle = FormBorderStyle.None;
diff --git a/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.resx b/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.resx
index ef8fc70..ef7524c 100644
--- a/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.resx
+++ b/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.resx
@@ -121,7 +121,7 @@
<data name="themeForm1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- vQAADr0BR/uQrQAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
+ vAAADrwBlbxySQAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
BkVBUPCBCEG8BXNQ48GLeImCehIJxMsqhsSZruod46K4HtSIGjU+4iOr0c1I9fSsM3/PLNtCPO0H36m/
evz/X11VnreKVRTAHPOZumkY6lFwqURws3BwZ8ywTQnuiCP/+iTCzY1qaUPzdm/Atf3PaHre6XPsjyQM
2xLGV4XwIyX4QRj+UMK/lPFvJTyhBMeV8IgQvmRJuH4Ko+l5p9UjGBbCJ5RxTgj+VMZmXxKcSAjekHE/
diff --git a/LB_SmartVision/Forms/Pages/CameraPage/CamerasEditPage.Designer.cs b/LB_SmartVision/Forms/Pages/CameraPage/CamerasEditPage.Designer.cs
index 345dffd..cfbcc7f 100644
--- a/LB_SmartVision/Forms/Pages/CameraPage/CamerasEditPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/CameraPage/CamerasEditPage.Designer.cs
@@ -132,8 +132,6 @@
//
// CamerasEditPage
//
- AutoScaleDimensions = new SizeF(96F, 96F);
- AutoScaleMode = AutoScaleMode.Dpi;
BackColor = Color.FromArgb(32, 41, 50);
Controls.Add(tableLayoutPanel1);
Name = "CamerasEditPage";
diff --git a/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.Designer.cs b/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.Designer.cs
index 0ec3433..ceb57b3 100644
--- a/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.Designer.cs
@@ -160,8 +160,7 @@
//
// CreateCameraForm
//
- AutoScaleDimensions = new SizeF(96F, 96F);
- AutoScaleMode = AutoScaleMode.Dpi;
+ AutoScaleMode = AutoScaleMode.None;
ClientSize = new Size(507, 309);
ControlBox = false;
Controls.Add(uiComboBoxSN);
diff --git a/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.resx b/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.resx
index 9ca1331..13b0351 100644
--- a/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.resx
+++ b/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.resx
@@ -121,24 +121,24 @@
<data name="themeForm1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wgAADsIBFShKgAAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
- BkVBUPCBCEG8BXNQ48GLeImCehIJxMsqhsSZruod46K4HtSIGjU+4iOr0c1I9fSsM3/PLNtCPO0H36m/
- evz/X11VnreKVRTAHPOZumkY6lFwqURws3BwZ8ywTQnuiCP/+iTCzY1qaUPzdm/Atf3PaHre6XPsjyQM
- 2xLGV4XwIyX4QRj+UMK/lPFvJTyhBMeV8IgQvmRJuH4Ko+l5p9UjGBbCJ5RxTgj+VMZmXxKcSAjekHE/
- NNs5DgaTKLinEQYVO4Trf1mkV81wixLUslPmA3bzF2XcKeP+hWY/u3n0fCXcrQwLyjAvjNsb1dI6N05P
- mFAIHlHG73sEypPgGwnhfpn0zzH7jzddcK4Q7kqfKNMI4a9K+MwBDgbdeF04MBWsFYYdQvhbLlBvfhKT
- f+vMtLfG7C0JJXxKGY67WnvCmPAFGRs7z42boul5AzHBfdK6TjdQtzPGk8oos5F/5Y7sfVvPhg+lp+1h
- 0yIsxARPmtaN78WEl8eEX+SNclxUhne0glUrNrN9zfMGlPAuZTzaQ99FYfwuDv3ruoLvq5bWaQSvZCfL
- GXUYLwrj240Qxtu2lkSN4FpdWfKZH9jb9RQ1Cq62f9sVOlxUxn3KQXnJ0PO8QxU/jBm1h74v7ZniEG9K
- Hdg/quzvXO709k0Y3u08ucGqWgheX862H4XgxbR47SqU8D1X0EXC2VmGizqDz0xPr0kYH9eO360gNe0b
- jWppozB+1kOQEb5MCLa0C64NoeGrhOGrvH6lhK81GiIvnggmrDLzgvTkvwvDA+5wsU4nhG/m9AUoBD/F
- HFzWN4H0XQn2vF8eXN8Z3FAPYasl59oUYjuB+sTImDB+nhfgYQ39STf4fmu1DHtz+oIUgiM1KkWtwcFw
- sOujVT3hrnaL7UQc+hcL5W+sKIXhw0OVjaW0iwnBc47gqIQ45QY32PKRzv8eTguRYM9SS5YouEEZjv37
- EffbzbjBDdZyxZYQ12EB2qS0bWrJqRVazPDWkojwZbuZrsgZtDJ0iY1g12khEtTicMTvclwn2CKE32YJ
- 7G5PORfZ1HtMCH7MOV4BrQ3XCe92+4onk5Nn2PolDAvWXnuOzAwzo6Nnx4Q3SrojwqfKeMxWMpsXWVs+
- 2WrfKRdbW1W6Hf0shM/33Y7my4PrleFZIfhAaWjU/e5ivlw+y3S2FySMtynjvcrwsFiLJv/RhPBB2ws1
- hK2WcBLBFf1qawlplwvxaQlxe786OOU4PBWsjSO85mBlQ8n99r/BisSdAas4FfgHpdEUZpwUX7sAAAAA
- SUVORK5CYII=
+ wAAADsABataJCQAAA+xJREFUWEftV0loFUkYbvcNFzJi0lWdBEPQruqXKEYdcRgz4AYqeplBwYiXEUVB
+ UHAhCEG8iR509OBlmIsOjJ5EBvQSRVHzuvslxjAy8eCG+75GozF+f716L6873fqe2ykffDR59e9/1V8V
+ ow99KARtUg72J5aypGNN8xy2yJPWcleylb5gS13HnJdy+KSW6uJx3b8ZA7TKl6PbMPq3SbMsBUcpyf/2
+ BP8PDh96kr32BX/rS/4O30789grfO1j/k4LQ6p8POO6XdFgpDNbDSZsn2Bt8u2MpWGdKsCPeBNMm3TZp
+ FaUc6/cW20pQEtpsflCllmwxjDbpLKOd9vAZuBPOx5J+86TyMdDbBxsdYLsn+SpUZYQy/imQILLdBIP3
+ cxzEU7Dbns3WejXmcNK/NPGHkajabtUiLYO/nyOgXWdRFeUkDmdnWMOg2ACFFwEn8fzfFeaSxlpjIOlT
+ EHC0HVm/CstSC13B93sVFaOVszDQpwGuYGtQLipnQDlMyLzH12t2zJ8adH/TbeMbVLYROmmyDvjYRrLK
+ aS4Q3Y/gtWjFALtg6KSf4NW02Uj3HwSPzOuw9iAk24sI/p5rm3OV0wyOo+++ww7pzCIViVjvAk+02GyC
+ VlWnpUmw2Qggn+AV0eZ/A61oEtYsOttRwjlE5vy4L61KrabQmjBtV3I/JPtRUptcmy9UBuiM+tLc+bHs
+ aQ1Rn8rNnEC7Gpvr8KcqF0XoHVCbl0qB8p2OEspS8OZmySZrvwqNtbUDMRm3Yj9kj1uB9NXcwLkfjwyu
+ RAhoshuYcHMyGy4DT5T+jKrcjNbJh+yW75QIw62yqhDAvUghwV/Cybrw5UKTDn08GqmTJ9GCx660pscG
+ oPoq2MHzlUWjtN8skjZbRsGFdQpiJoBkVVkFnF3tLcCv+7ZZo31mcYZGLY5RL/kCiQrcaRLFTvrikOxc
+ YJF2PeZ5ZsTmAkNkCtaiW1YAkcTF1sT4YjXFEM3ekMADz+YztM8AULqlqE5nSL5wor3Zkew51nxU4WnP
+ Ij9DlVGLIWCtDhV6FzBWIJH9a3pNaZOGQRsNT6tjWSHB/6LK6OUA/ETJVER/O9dgwcQ7w7XLTG0yjSTO
+ Onp7Ny3A92VuuTD0rbcFbXsUMJonaQwnBV8Rniu4y2sGYbEe5emA8cORV6ZGY3n5UNycC9AKvBHZZRh+
+ iqxoX9BlRWMZozvLLiSEV5V6HT2Bjz9iX0ftaAWE9sDoBV+UlOufY9FeWTmE5OhdgLH8Kxyvhv5GON3q
+ C3NzSvD19C70MTco4JTDZsbtrSzUlLP5DnBV3D745riOp5nr8F/OJcYV65++P2iTfNV/MPoQCcP4AKXR
+ FGYxo/VGAAAAAElFTkSuQmCC
</value>
</data>
</root>
\ No newline at end of file
diff --git a/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.Designer.cs b/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.Designer.cs
index 7593b89..1df002a 100644
--- a/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.Designer.cs
@@ -561,6 +561,7 @@
tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
tableLayoutPanel1.Size = new Size(368, 39);
tableLayoutPanel1.TabIndex = 4;
+ tableLayoutPanel1.Paint += tableLayoutPanel1_Paint;
//
// textBox1
//
diff --git a/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.cs b/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.cs
index 7440df4..a30f452 100644
--- a/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.cs
+++ b/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlForm.cs
@@ -365,5 +365,10 @@
//LogInfo?.Invoke($"X浣嶇疆宸叉洿鏂颁负: {xPosition}", LogInfoType.INFO);
}
}
+
+ private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e)
+ {
+
+ }
}
}
diff --git a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.Designer.cs b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.Designer.cs
index afc3cce..217409e 100644
--- a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.Designer.cs
@@ -13,6 +13,7 @@
/// <param name="disposing">濡傛灉搴旈噴鏀炬墭绠¤祫婧愶紝涓� true锛涘惁鍒欎负 false銆�</param>
protected override void Dispose(bool disposing)
{
+ this.isClosed = true;
if (disposing && (components != null))
{
components.Dispose();
diff --git a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs
index b9febc4..1642a11 100644
--- a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs
+++ b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs
@@ -43,6 +43,11 @@
if (ProcessRunBll != null)
this.label1.Text = $"鎬绘暟锛歿ProcessRunBll.total}";
+ this.isClosed = false ;
+ var TaskPhotoContinue = Task.Factory.StartNew(() =>
+ {
+ ThreadCircleRun();
+ });
}
public void SetTitle(string title)
@@ -149,37 +154,36 @@
if (isCircleRuning)
{
- threadCircleRun = new Thread(ThreadCircleRun);
- threadCircleRun.IsBackground = true;
- threadCircleRun.Start();
+ this.mAutoResetEvent.Set();
}
else
{
isCircleRuning = false;
- threadCircleRun.Abort();
}
+ if (!isCircleRuning)
+ {
+ ProcessRunBll.LogInfo($"{ProcessRunBll.Name}鍏抽棴杩炵画杩愯", LogInfoType.PASS);
+ return;
+ }
+
+ ProcessRunBll.LogInfo($"{ProcessRunBll.Name}寮�鍚繛缁繍琛�", LogInfoType.WARN);
}
catch { }
}
-
- Thread threadCircleRun = null;
+ private AutoResetEvent mAutoResetEvent = new AutoResetEvent(false);
+ bool isClosed = false;
void ThreadCircleRun()
{
- if (!isCircleRuning)
+ while (!isClosed)
{
- ProcessRunBll.LogInfo($"{ProcessRunBll.Name}鍏抽棴杩炵画杩愯", LogInfoType.PASS);
- return;
- }
-
- ProcessRunBll.LogInfo($"{ProcessRunBll.Name}寮�鍚繛缁繍琛�", LogInfoType.WARN);
-
- while (isCircleRuning)
- {
- //this.BeginInvoke(new Action(() =>
- //{
try
{
+ if (isCircleRuning == false)
+ {
+ this.mAutoResetEvent.WaitOne();
+ }
+
ProcessRunBll.LogInfo($"{ProcessRunBll.Name}寮�濮嬭繍琛�", LogInfoType.WARN);
ClearObj();
bool result = ProcessRunBll.Run();
@@ -192,9 +196,7 @@
ShowHoImage(RecordImage);
}
catch { }
- //}));
-
- Thread.Sleep(100);
+ Thread.Sleep(33);
}
}
diff --git a/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.Designer.cs b/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.Designer.cs
index 1283684..564f17c 100644
--- a/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.Designer.cs
@@ -1,19 +1,22 @@
锘�
using ReaLTaiizor.Controls;
+using Sunny.UI;
+using System.Drawing.Printing;
+using System.Windows.Forms;
namespace LB_SmartVision.Forms.Pages.UserManagementPage
{
partial class UserManagementEditPage
{
- /// <summary>
- /// Required designer variable.
+ /// <summary>
+ /// 蹇呴渶鐨勮璁″櫒鍙橀噺銆�
/// </summary>
private System.ComponentModel.IContainer components = null;
- /// <summary>
- /// Clean up any resources being used.
+ /// <summary>
+ /// 娓呯悊鎵�鏈夋鍦ㄤ娇鐢ㄧ殑璧勬簮銆�
/// </summary>
- /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ /// <param name="disposing">濡傛灉搴旈噴鏀炬墭绠¤祫婧愶紝涓� true锛涘惁鍒欎负 false銆�</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
@@ -23,132 +26,356 @@
base.Dispose(disposing);
}
- #region Windows Form Designer generated code
+ #region 缁勪欢璁捐鍣ㄧ敓鎴愮殑浠g爜
- /// <summary>
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
+ /// <summary>
+ /// 璁捐鍣ㄦ敮鎸佹墍闇�鐨勬柟娉� - 涓嶈淇敼
+ /// 浣跨敤浠g爜缂栬緫鍣ㄤ慨鏀规鏂规硶鐨勫唴瀹广��
/// </summary>
private void InitializeComponent()
{
- btn_Add = new HopeButton();
- btn_Clear = new LostButton();
- uiFlowLayoutPanel1 = new FlowLayoutPanel();
+ grpSetting = new ParrotGroupBox();
tableLayoutPanel1 = new TableLayoutPanel();
tableLayoutPanel2 = new TableLayoutPanel();
+ tableLayoutPanel3 = new TableLayoutPanel();
+ textBoxEmployeeID = new TextBox();
+ labelEmployeeID = new Label();
+ textBoxName = new TextBox();
+ labelName = new Label();
+ labelPermission = new Label();
+ textBoxPassword = new TextBox();
+ labelPassword = new Label();
+ labelUsername = new Label();
+ textBoxUsername = new TextBox();
+ comboBoxPermission = new ComboBox();
+ dataGridViewUM = new DataGridView();
+ tableLayoutPanel4 = new TableLayoutPanel();
+ btnEdit = new HopeButton();
+ btnFind = new HopeButton();
+ btnDel = new HopeButton();
+ btnAdd = new ForeverButton();
+ grpSetting.SuspendLayout();
tableLayoutPanel1.SuspendLayout();
tableLayoutPanel2.SuspendLayout();
+ tableLayoutPanel3.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)dataGridViewUM).BeginInit();
+ tableLayoutPanel4.SuspendLayout();
SuspendLayout();
//
- // btn_Add
+ // grpSetting
//
- btn_Add.BorderColor = Color.FromArgb(220, 223, 230);
- btn_Add.ButtonType = ReaLTaiizor.Util.HopeButtonType.Primary;
- btn_Add.Cursor = Cursors.Hand;
- btn_Add.DangerColor = Color.FromArgb(245, 108, 108);
- btn_Add.DefaultColor = Color.FromArgb(255, 255, 255);
- btn_Add.Dock = DockStyle.Fill;
- btn_Add.Font = new Font("瀹嬩綋", 12F);
- btn_Add.HoverTextColor = Color.FromArgb(48, 49, 51);
- btn_Add.InfoColor = Color.FromArgb(144, 147, 153);
- btn_Add.Location = new Point(503, 3);
- btn_Add.MinimumSize = new Size(1, 1);
- btn_Add.Name = "btn_Add";
- btn_Add.PrimaryColor = Color.FromArgb(64, 158, 255);
- btn_Add.Size = new Size(95, 38);
- btn_Add.SuccessColor = Color.FromArgb(103, 194, 58);
- btn_Add.TabIndex = 11;
- btn_Add.Text = "澧炲姞";
- btn_Add.TextColor = Color.White;
- btn_Add.WarningColor = Color.FromArgb(230, 162, 60);
- //
- // btn_Clear
- //
- btn_Clear.BackColor = Color.FromArgb(45, 45, 48);
- btn_Clear.Cursor = Cursors.Hand;
- btn_Clear.Dock = DockStyle.Fill;
- btn_Clear.Font = new Font("瀹嬩綋", 12F);
- btn_Clear.ForeColor = Color.White;
- btn_Clear.HoverColor = Color.DodgerBlue;
- btn_Clear.Image = null;
- btn_Clear.Location = new Point(403, 3);
- btn_Clear.MinimumSize = new Size(1, 1);
- btn_Clear.Name = "btn_Clear";
- btn_Clear.Size = new Size(94, 38);
- btn_Clear.TabIndex = 12;
- btn_Clear.Text = "娓呴櫎";
- //
- // uiFlowLayoutPanel1
- //
- uiFlowLayoutPanel1.BackColor = Color.FromArgb(32, 41, 50);
- uiFlowLayoutPanel1.Dock = DockStyle.Fill;
- uiFlowLayoutPanel1.Font = new Font("瀹嬩綋", 12F);
- uiFlowLayoutPanel1.ForeColor = SystemColors.Control;
- uiFlowLayoutPanel1.Location = new Point(4, 5);
- uiFlowLayoutPanel1.Margin = new Padding(4, 5, 4, 5);
- uiFlowLayoutPanel1.MinimumSize = new Size(1, 1);
- uiFlowLayoutPanel1.Name = "uiFlowLayoutPanel1";
- uiFlowLayoutPanel1.Padding = new Padding(2);
- uiFlowLayoutPanel1.Size = new Size(599, 293);
- uiFlowLayoutPanel1.TabIndex = 10;
- uiFlowLayoutPanel1.Text = "`";
+ grpSetting.BorderColor = Color.DodgerBlue;
+ grpSetting.BorderWidth = 1;
+ grpSetting.Controls.Add(tableLayoutPanel1);
+ grpSetting.Dock = DockStyle.Fill;
+ grpSetting.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
+ grpSetting.Location = new Point(0, 0);
+ grpSetting.Name = "grpSetting";
+ grpSetting.ShowText = true;
+ grpSetting.Size = new Size(866, 580);
+ grpSetting.TabIndex = 6;
+ grpSetting.TabStop = false;
+ grpSetting.Text = "鐢ㄦ埛绠$悊璁剧疆";
+ grpSetting.TextColor = Color.DodgerBlue;
//
// tableLayoutPanel1
//
tableLayoutPanel1.ColumnCount = 1;
tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
- tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 20F));
- tableLayoutPanel1.Controls.Add(uiFlowLayoutPanel1, 0, 0);
- tableLayoutPanel1.Controls.Add(tableLayoutPanel2, 0, 1);
+ tableLayoutPanel1.Controls.Add(tableLayoutPanel2, 0, 0);
+ tableLayoutPanel1.Controls.Add(tableLayoutPanel4, 0, 1);
tableLayoutPanel1.Dock = DockStyle.Fill;
- tableLayoutPanel1.Location = new Point(0, 0);
+ tableLayoutPanel1.Location = new Point(3, 22);
tableLayoutPanel1.Name = "tableLayoutPanel1";
tableLayoutPanel1.RowCount = 2;
tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
- tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
- tableLayoutPanel1.Size = new Size(607, 353);
- tableLayoutPanel1.TabIndex = 13;
+ tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 45F));
+ tableLayoutPanel1.Size = new Size(860, 555);
+ tableLayoutPanel1.TabIndex = 1;
//
// tableLayoutPanel2
//
- tableLayoutPanel2.ColumnCount = 6;
- tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
- tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
- tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
- tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
- tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
- tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
- tableLayoutPanel2.Controls.Add(btn_Add, 5, 0);
- tableLayoutPanel2.Controls.Add(btn_Clear, 4, 0);
+ tableLayoutPanel2.ColumnCount = 2;
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 340F));
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ tableLayoutPanel2.Controls.Add(tableLayoutPanel3, 0, 0);
+ tableLayoutPanel2.Controls.Add(dataGridViewUM, 1, 0);
tableLayoutPanel2.Dock = DockStyle.Fill;
- tableLayoutPanel2.Location = new Point(3, 306);
+ tableLayoutPanel2.Location = new Point(3, 3);
tableLayoutPanel2.Name = "tableLayoutPanel2";
tableLayoutPanel2.RowCount = 1;
tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
- tableLayoutPanel2.Size = new Size(601, 44);
- tableLayoutPanel2.TabIndex = 11;
+ tableLayoutPanel2.Size = new Size(854, 504);
+ tableLayoutPanel2.TabIndex = 0;
+ //
+ // tableLayoutPanel3
+ //
+ tableLayoutPanel3.ColumnCount = 2;
+ tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 100F));
+ tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ tableLayoutPanel3.Controls.Add(textBoxEmployeeID, 1, 4);
+ tableLayoutPanel3.Controls.Add(labelEmployeeID, 0, 4);
+ tableLayoutPanel3.Controls.Add(textBoxName, 1, 3);
+ tableLayoutPanel3.Controls.Add(labelName, 0, 3);
+ tableLayoutPanel3.Controls.Add(labelPermission, 0, 2);
+ tableLayoutPanel3.Controls.Add(textBoxPassword, 1, 1);
+ tableLayoutPanel3.Controls.Add(labelPassword, 0, 1);
+ tableLayoutPanel3.Controls.Add(labelUsername, 0, 0);
+ tableLayoutPanel3.Controls.Add(textBoxUsername, 1, 0);
+ tableLayoutPanel3.Controls.Add(comboBoxPermission, 1, 2);
+ tableLayoutPanel3.Location = new Point(3, 3);
+ tableLayoutPanel3.Name = "tableLayoutPanel3";
+ tableLayoutPanel3.RowCount = 5;
+ tableLayoutPanel3.RowStyles.Add(new RowStyle(SizeType.Percent, 20F));
+ tableLayoutPanel3.RowStyles.Add(new RowStyle(SizeType.Percent, 20F));
+ tableLayoutPanel3.RowStyles.Add(new RowStyle(SizeType.Percent, 20F));
+ tableLayoutPanel3.RowStyles.Add(new RowStyle(SizeType.Percent, 20F));
+ tableLayoutPanel3.RowStyles.Add(new RowStyle(SizeType.Percent, 20F));
+ tableLayoutPanel3.Size = new Size(333, 225);
+ tableLayoutPanel3.TabIndex = 0;
+ //
+ // textBoxEmployeeID
+ //
+ textBoxEmployeeID.Location = new Point(107, 187);
+ textBoxEmployeeID.Margin = new Padding(7);
+ textBoxEmployeeID.Name = "textBoxEmployeeID";
+ textBoxEmployeeID.Size = new Size(219, 26);
+ textBoxEmployeeID.TabIndex = 9;
+ //
+ // labelEmployeeID
+ //
+ labelEmployeeID.AutoSize = true;
+ labelEmployeeID.Dock = DockStyle.Fill;
+ labelEmployeeID.ForeColor = Color.White;
+ labelEmployeeID.Location = new Point(3, 180);
+ labelEmployeeID.Name = "labelEmployeeID";
+ labelEmployeeID.Size = new Size(94, 45);
+ labelEmployeeID.TabIndex = 8;
+ labelEmployeeID.Text = "鍛樺伐缂栧彿";
+ labelEmployeeID.TextAlign = ContentAlignment.MiddleLeft;
+ //
+ // textBoxName
+ //
+ textBoxName.Location = new Point(107, 142);
+ textBoxName.Margin = new Padding(7);
+ textBoxName.Name = "textBoxName";
+ textBoxName.Size = new Size(219, 26);
+ textBoxName.TabIndex = 7;
+ //
+ // labelName
+ //
+ labelName.AutoSize = true;
+ labelName.Dock = DockStyle.Fill;
+ labelName.ForeColor = Color.White;
+ labelName.Location = new Point(3, 135);
+ labelName.Name = "labelName";
+ labelName.Size = new Size(94, 45);
+ labelName.TabIndex = 6;
+ labelName.Text = "濮撳悕";
+ labelName.TextAlign = ContentAlignment.MiddleLeft;
+ //
+ // labelPermission
+ //
+ labelPermission.AutoSize = true;
+ labelPermission.Dock = DockStyle.Fill;
+ labelPermission.ForeColor = Color.White;
+ labelPermission.Location = new Point(3, 90);
+ labelPermission.Name = "labelPermission";
+ labelPermission.Size = new Size(94, 45);
+ labelPermission.TabIndex = 4;
+ labelPermission.Text = "鏉冮檺";
+ labelPermission.TextAlign = ContentAlignment.MiddleLeft;
+ //
+ // textBoxPassword
+ //
+ textBoxPassword.Location = new Point(107, 52);
+ textBoxPassword.Margin = new Padding(7);
+ textBoxPassword.Name = "textBoxPassword";
+ textBoxPassword.Size = new Size(219, 26);
+ textBoxPassword.TabIndex = 3;
+ //
+ // labelPassword
+ //
+ labelPassword.AutoSize = true;
+ labelPassword.Dock = DockStyle.Fill;
+ labelPassword.ForeColor = Color.White;
+ labelPassword.Location = new Point(3, 45);
+ labelPassword.Name = "labelPassword";
+ labelPassword.Size = new Size(94, 45);
+ labelPassword.TabIndex = 2;
+ labelPassword.Text = "瀵嗙爜";
+ labelPassword.TextAlign = ContentAlignment.MiddleLeft;
+ //
+ // labelUsername
+ //
+ labelUsername.AutoSize = true;
+ labelUsername.Dock = DockStyle.Fill;
+ labelUsername.ForeColor = Color.White;
+ labelUsername.Location = new Point(3, 0);
+ labelUsername.Name = "labelUsername";
+ labelUsername.Size = new Size(94, 45);
+ labelUsername.TabIndex = 0;
+ labelUsername.Text = "鐢ㄦ埛鍚�";
+ labelUsername.TextAlign = ContentAlignment.MiddleLeft;
+ //
+ // textBoxUsername
+ //
+ textBoxUsername.Location = new Point(107, 7);
+ textBoxUsername.Margin = new Padding(7);
+ textBoxUsername.Name = "textBoxUsername";
+ textBoxUsername.Size = new Size(219, 26);
+ textBoxUsername.TabIndex = 1;
+ //
+ // comboBoxPermission
+ //
+ comboBoxPermission.DropDownStyle = ComboBoxStyle.DropDownList;
+ comboBoxPermission.FormattingEnabled = true;
+ comboBoxPermission.Location = new Point(107, 97);
+ comboBoxPermission.Margin = new Padding(7);
+ comboBoxPermission.Name = "comboBoxPermission";
+ comboBoxPermission.Size = new Size(219, 24);
+ comboBoxPermission.TabIndex = 5;
+ //
+ // dataGridViewUM
+ //
+ dataGridViewUM.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ dataGridViewUM.Dock = DockStyle.Fill;
+ dataGridViewUM.Location = new Point(343, 3);
+ dataGridViewUM.Name = "dataGridViewUM";
+ dataGridViewUM.RowHeadersWidth = 51;
+ dataGridViewUM.Size = new Size(508, 498);
+ dataGridViewUM.TabIndex = 1;
+ //
+ // tableLayoutPanel4
+ //
+ tableLayoutPanel4.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ tableLayoutPanel4.ColumnCount = 4;
+ tableLayoutPanel4.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
+ tableLayoutPanel4.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
+ tableLayoutPanel4.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
+ tableLayoutPanel4.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
+ tableLayoutPanel4.Controls.Add(btnEdit, 1, 0);
+ tableLayoutPanel4.Controls.Add(btnFind, 0, 0);
+ tableLayoutPanel4.Controls.Add(btnDel, 3, 0);
+ tableLayoutPanel4.Controls.Add(btnAdd, 2, 0);
+ tableLayoutPanel4.Location = new Point(457, 513);
+ tableLayoutPanel4.Name = "tableLayoutPanel4";
+ tableLayoutPanel4.RowCount = 1;
+ tableLayoutPanel4.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ tableLayoutPanel4.Size = new Size(400, 39);
+ tableLayoutPanel4.TabIndex = 1;
+ //
+ // btnEdit
+ //
+ btnEdit.BorderColor = Color.FromArgb(220, 223, 230);
+ btnEdit.ButtonType = ReaLTaiizor.Util.HopeButtonType.Primary;
+ btnEdit.DangerColor = Color.FromArgb(245, 108, 108);
+ btnEdit.DefaultColor = Color.FromArgb(255, 255, 255);
+ btnEdit.Font = new Font("Segoe UI", 12F);
+ btnEdit.HoverTextColor = Color.FromArgb(48, 49, 51);
+ btnEdit.InfoColor = Color.FromArgb(144, 147, 153);
+ btnEdit.Location = new Point(103, 3);
+ btnEdit.Name = "btnEdit";
+ btnEdit.PrimaryColor = Color.FromArgb(64, 158, 255);
+ btnEdit.Size = new Size(94, 33);
+ btnEdit.SuccessColor = Color.FromArgb(103, 194, 58);
+ btnEdit.TabIndex = 2;
+ btnEdit.Text = "淇敼";
+ btnEdit.TextColor = Color.White;
+ btnEdit.WarningColor = Color.FromArgb(230, 162, 60);
+ //
+ // btnFind
+ //
+ btnFind.BorderColor = Color.FromArgb(220, 223, 230);
+ btnFind.ButtonType = ReaLTaiizor.Util.HopeButtonType.Primary;
+ btnFind.DangerColor = Color.FromArgb(245, 108, 108);
+ btnFind.DefaultColor = Color.FromArgb(255, 255, 255);
+ btnFind.Font = new Font("Segoe UI", 12F);
+ btnFind.HoverTextColor = Color.FromArgb(48, 49, 51);
+ btnFind.InfoColor = Color.FromArgb(144, 147, 153);
+ btnFind.Location = new Point(3, 3);
+ btnFind.Name = "btnFind";
+ btnFind.PrimaryColor = Color.FromArgb(64, 158, 255);
+ btnFind.Size = new Size(94, 33);
+ btnFind.SuccessColor = Color.FromArgb(103, 194, 58);
+ btnFind.TabIndex = 1;
+ btnFind.Text = "鏌ヨ";
+ btnFind.TextColor = Color.White;
+ btnFind.WarningColor = Color.FromArgb(230, 162, 60);
+ //
+ // btnDel
+ //
+ btnDel.BorderColor = Color.FromArgb(220, 223, 230);
+ btnDel.ButtonType = ReaLTaiizor.Util.HopeButtonType.Primary;
+ btnDel.DangerColor = Color.FromArgb(245, 108, 108);
+ btnDel.DefaultColor = Color.FromArgb(255, 255, 255);
+ btnDel.Font = new Font("Segoe UI", 12F);
+ btnDel.HoverTextColor = Color.FromArgb(48, 49, 51);
+ btnDel.InfoColor = Color.FromArgb(144, 147, 153);
+ btnDel.Location = new Point(303, 3);
+ btnDel.Name = "btnDel";
+ btnDel.PrimaryColor = Color.FromArgb(64, 158, 255);
+ btnDel.Size = new Size(94, 33);
+ btnDel.SuccessColor = Color.FromArgb(103, 194, 58);
+ btnDel.TabIndex = 3;
+ btnDel.Text = "鍒犻櫎";
+ btnDel.TextColor = Color.White;
+ btnDel.WarningColor = Color.FromArgb(230, 162, 60);
+ btnDel.Click += btnDel_Click;
+ //
+ // btnAdd
+ //
+ btnAdd.BackColor = Color.Transparent;
+ btnAdd.BaseColor = Color.FromArgb(35, 168, 109);
+ btnAdd.Font = new Font("Segoe UI", 12F);
+ btnAdd.Location = new Point(203, 3);
+ btnAdd.Name = "btnAdd";
+ btnAdd.Rounded = false;
+ btnAdd.Size = new Size(94, 33);
+ btnAdd.TabIndex = 4;
+ btnAdd.Text = "娣诲姞";
+ btnAdd.TextColor = Color.FromArgb(243, 243, 243);
+ btnAdd.Click += btnAdd_Click;
//
// UserManagementEditPage
//
- AutoScaleDimensions = new SizeF(96F, 96F);
- AutoScaleMode = AutoScaleMode.Dpi;
BackColor = Color.FromArgb(32, 41, 50);
- Controls.Add(tableLayoutPanel1);
- ForeColor = SystemColors.Control;
+ Controls.Add(grpSetting);
Name = "UserManagementEditPage";
- Size = new Size(607, 353);
- Paint += MESEditPage_Paint;
+ Size = new Size(866, 580);
+ grpSetting.ResumeLayout(false);
+ grpSetting.PerformLayout();
tableLayoutPanel1.ResumeLayout(false);
tableLayoutPanel2.ResumeLayout(false);
+ tableLayoutPanel3.ResumeLayout(false);
+ tableLayoutPanel3.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)dataGridViewUM).EndInit();
+ tableLayoutPanel4.ResumeLayout(false);
ResumeLayout(false);
}
#endregion
- private ReaLTaiizor.Controls.HopeButton btn_Add;
- private ReaLTaiizor.Controls.LostButton btn_Clear;
- private FlowLayoutPanel uiFlowLayoutPanel1;
+ private ParrotGroupBox grpSetting;
private TableLayoutPanel tableLayoutPanel1;
private TableLayoutPanel tableLayoutPanel2;
+ private TableLayoutPanel tableLayoutPanel3;
+ private Label labelUsername;
+ private TextBox textBoxUsername;
+ private TextBox textBoxEmployeeID;
+ private Label labelEmployeeID;
+ private TextBox textBoxName;
+ private Label labelName;
+ private Label labelPermission;
+ private TextBox textBoxPassword;
+ private Label labelPassword;
+ private ComboBox comboBoxPermission;
+ private DataGridView dataGridViewUM;
+ private TableLayoutPanel tableLayoutPanel4;
+ private HopeButton btnDel;
+ private HopeButton btnEdit;
+ private HopeButton btnFind;
+ private ForeverButton btnAdd;
}
+
}
\ No newline at end of file
diff --git a/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.cs b/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.cs
index 528daa5..0cd133d 100644
--- a/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.cs
+++ b/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.cs
@@ -1,30 +1,153 @@
-锘縰sing LB_VisionControl;
-using OpenCvSharp.Flann;
-using System;
+锘縰sing LB_SmartVision.Forms.Pages.ProcessPage;
+using LB_SmartVision.ProcessRun;
+using LB_VisionControl;
+using LB_VisionProcesses;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
using System.Collections.Concurrent;
+using System.Data;
+using System.Text;
+using VisionControl.Forms;
+using LB_SmartVision.Forms.Pages.SettingPage;
+using LB_SmartVisionCommon;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
+using LB_SmartVision.Forms.Pages.CameraPage;
+using System.Security.Principal;
using System.Windows.Forms;
-using System.Xml.Linq;
namespace LB_SmartVision.Forms.Pages.UserManagementPage
{
public partial class UserManagementEditPage : UserControl
{
public Action<string, LogInfoType> LogInfo;
-
-
+ RunSettingPage RunSettingPage = new RunSettingPage();
+ LayoutPage LayoutPage = new LayoutPage();
+ CsvPage CsvPage = new CsvPage();
public UserManagementEditPage()
{
- InitializeComponent();
-
- Name = "UserManagementEditPage";
+ Name = "UserManagementEditPage";
Text = "鐢ㄦ埛绠$悊璁剧疆";
+
+ InitializeComponent();
+ InitializeDataGridView();
+ InitializeComboBox();
}
- private void MESEditPage_Paint(object sender, PaintEventArgs e)
+ private void InitializeDataGridView()
{
- uiFlowLayoutPanel1.Controls.Clear();
+ // 璁剧疆DataGridView鍒楀
+ dataGridViewUM.ColumnCount = 5;
+
+ int totalWidth = dataGridViewUM.ClientSize.Width;
+ int columnCount = dataGridViewUM.ColumnCount;
+ int columnWidth = totalWidth / columnCount;
+
+ // 璁剧疆鏈�灏忓搴�
+ int minWidth = 100; // 鏈�灏忓搴�
+ if (columnWidth < minWidth)
+ {
+ columnWidth = minWidth;
+ }
+
+ for (int i = 0; i < columnCount; i++)
+ {
+ dataGridViewUM.Columns[i].Width = columnWidth;
+ }
+
+ // 璁剧疆鍒楁爣棰�
+ dataGridViewUM.Columns[0].Name = "鐢ㄦ埛鍚�";
+ dataGridViewUM.Columns[1].Name = "瀵嗙爜";
+ dataGridViewUM.Columns[2].Name = "濮撳悕";
+ dataGridViewUM.Columns[3].Name = "宸ュ彿";
+ dataGridViewUM.Columns[4].Name = "鏉冮檺";
+
+ dataGridViewUM.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
+
+ // 绂佹缂栬緫鍗曞厓鏍硷紙鍙�夛級
+ dataGridViewUM.ReadOnly = true;
+
+ // 鍏佽澶氳閫夋嫨锛堝彲閫夛級
+ dataGridViewUM.MultiSelect = false;
+
+ // 鏄剧ず琛屾爣棰橈紙鍙�夛級
+ dataGridViewUM.RowHeadersVisible = true;
}
+ private void InitializeComboBox()
+ {
+ // 娣诲姞鏉冮檺閫夐」
+ comboBoxPermission.Items.Add("绠$悊鍛�");
+ comboBoxPermission.Items.Add("鎿嶄綔鍛�");
+ // 璁剧疆榛樿閫夋嫨椤�
+ comboBoxPermission.SelectedIndex = 1;
+ }
+
+ private void ClearInputFields()
+ {
+ textBoxUsername.Clear();
+ textBoxPassword.Clear();
+ textBoxName.Clear();
+ textBoxEmployeeID.Clear();
+ comboBoxPermission.SelectedIndex = 1;
+ textBoxUsername.Focus(); // 灏嗙劍鐐硅缃洖鐢ㄦ埛鍚嶈緭鍏ユ
+ }
+ private void btnAdd_Click(object sender, EventArgs e)
+ {
+ // 楠岃瘉杈撳叆
+ if (string.IsNullOrWhiteSpace(textBoxUsername.Text) ||
+ string.IsNullOrWhiteSpace(textBoxPassword.Text) ||
+ string.IsNullOrWhiteSpace(textBoxName.Text) ||
+ string.IsNullOrWhiteSpace(textBoxEmployeeID.Text))
+ {
+ MessageBox.Show("璇峰~鍐欐墍鏈夊繀濉瓧娈碉紒", "鎻愮ず",
+ MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+
+ // 鍒涘缓鏂拌鏁版嵁
+ string[] row = new string[]
+ {
+ textBoxUsername.Text,
+ textBoxPassword.Text, // 瀹為檯搴旂敤涓瘑鐮佸簲璇ュ姞瀵�
+ textBoxName.Text,
+ textBoxEmployeeID.Text,
+ comboBoxPermission.SelectedItem.ToString()
+ };
+
+ // 璁剧疆鏁翠釜DataGridView鐨勯粯璁ゅ瓧浣撳拰棰滆壊
+ dataGridViewUM.DefaultCellStyle.Font = new Font("瀹嬩綋", 12);
+ dataGridViewUM.DefaultCellStyle.ForeColor = Color.Black; // 瀛椾綋棰滆壊
+ dataGridViewUM.DefaultCellStyle.BackColor = Color.White; // 鑳屾櫙棰滆壊
+
+ // 娣诲姞鏂拌鍒癉ataGridView
+ dataGridViewUM.Rows.Add(row);
+
+ // 娓呯┖杈撳叆妗�
+ ClearInputFields();
+ }
+
+ private void btnDel_Click(object sender, EventArgs e)
+ {
+ if (dataGridViewUM.SelectedRows.Count > 0)
+ {
+ // 纭鍒犻櫎
+ DialogResult result = MessageBox.Show("纭畾瑕佸垹闄ら�変腑鐨勮鍚楋紵",
+ "纭鍒犻櫎", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
+
+ if (result == DialogResult.Yes)
+ {
+ foreach (DataGridViewRow row in dataGridViewUM.SelectedRows)
+ {
+ dataGridViewUM.Rows.Remove(row);
+ }
+ }
+ }
+ else
+ {
+ MessageBox.Show("璇峰厛閫夋嫨瑕佸垹闄ょ殑琛岋紒", "鎻愮ず",
+ MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
}
}
diff --git a/LB_SmartVision/ProcessRun/ProcessContext.cs b/LB_SmartVision/ProcessRun/ProcessContext.cs
index 6f32ad5..4081006 100644
--- a/LB_SmartVision/ProcessRun/ProcessContext.cs
+++ b/LB_SmartVision/ProcessRun/ProcessContext.cs
@@ -9,6 +9,7 @@
using LB_VisionProcesses.Processes.ScriptTool;
using OpenCvSharp;
using System.Collections.Concurrent;
+using System.Windows.Media.Media3D;
namespace LB_SmartVision.ProcessRun
{
@@ -489,7 +490,37 @@
if (dicContext.TryGetValue(ProcessName, out IProcess obj)
&& obj is IProcess process)
{
- process.InputImage = null;
+ //process.InputImage = null;
+
+ if (process.InputImage != null)
+ {
+ if (process.InputImage is HObject)
+ ((HObject)process.InputImage).Dispose();
+ else if (process.InputImage is Mat)
+ ((Mat)process.InputImage).Dispose();
+ else if (process.InputImage is Bitmap)
+ ((Bitmap)process.InputImage).Dispose();
+
+ process.InputImage = null;
+ }
+
+ if (process.OutputImage != null)
+ {
+ if (process.OutputImage is HObject)
+ ((HObject)process.OutputImage).Dispose();
+ else if (process.OutputImage is Mat)
+ ((Mat)process.OutputImage).Dispose();
+ else if (process.OutputImage is Bitmap)
+ ((Bitmap)process.OutputImage).Dispose();
+
+ process.OutputImage = null;
+ }
+
+ if (process.Record != null)
+ {
+ process.Record.Dispose();
+ process.Record = null;
+ }
UpdateInputs(process);
// 涓嶅悓鑺傜偣璺宠繃鐨勬柟寮忎笉鍚�
diff --git a/LB_SmartVision/ProcessRun/ProcessRunBll.cs b/LB_SmartVision/ProcessRun/ProcessRunBll.cs
index ddd7a6c..d2ba837 100644
--- a/LB_SmartVision/ProcessRun/ProcessRunBll.cs
+++ b/LB_SmartVision/ProcessRun/ProcessRunBll.cs
@@ -24,6 +24,7 @@
public static string Node2ToolClassName(string NodeName)
{
+
foreach (var item in IProcess.dicProcesses)
{
if (NodeName.StartsWith(item.Key))
diff --git a/LB_SmartVision/Program.cs b/LB_SmartVision/Program.cs
index e0369dd..d27db66 100644
--- a/LB_SmartVision/Program.cs
+++ b/LB_SmartVision/Program.cs
@@ -1,3 +1,6 @@
+using LB_SmartVisionLoginUI;
+using System.Text;
+
namespace LB_SmartVision
{
internal static class Program
@@ -8,10 +11,76 @@
[STAThread]
static void Main()
{
- // To customize application configuration such as set high DPI settings or default font,
- // see https://aka.ms/applicationconfiguration.
- ApplicationConfiguration.Initialize();
- Application.Run(new VisionForm());
+ try
+ {
+ string halconDir = Environment.GetEnvironmentVariable("HALCONROOT");
+ if (string.IsNullOrEmpty(halconDir) || !Directory.Exists(halconDir))
+ {
+ System.Windows.Forms.MessageBox.Show("环境变量缺少HALCONROOT,请确认是否安装正确!");
+ }
+ else
+ {
+ bool ret;
+ System.Threading.Mutex mutex = new System.Threading.Mutex(true, System.Windows.Forms.Application.ProductName, out ret);
+ if (ret)
+ {
+ ////登录验证权限
+ MainWindow.InstanceLoginandConfirmation().ShowDialog();
+ if (!MainWindow.InstanceLoginandConfirmation().isQuit && MainWindow.InstanceLoginandConfirmation().correctUser)
+ {
+ MainWindow.InstanceLoginandConfirmation().closeLoginFrm();
+ }
+ else
+ {
+ MainWindow.InstanceLoginandConfirmation().closeLoginFrm();
+ }
+ //// Main 为你程序的主窗体,如果是控制台程序不用这句
+ Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
+ System.Windows.Forms.Application.EnableVisualStyles();
+ System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
+ System.Windows.Forms.Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
+ System.Windows.Forms.Application.ThreadException += (sender, e) => HandleException(e.Exception);
+ AppDomain.CurrentDomain.UnhandledException += (sender, e) => HandleException(e.ExceptionObject as Exception);
+ //// To customize application configuration such as set high DPI settings or default font,
+ //// see https://aka.ms/applicationconfiguration.
+ System.Windows.Forms.Application.Run(new VisionForm());
+ mutex.ReleaseMutex();
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("有一个和本程序相同的应用程序已经在运行,请不要同时运行多个本程序。\r\n这个程序即将退出。", System.Windows.Forms.Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ // 提示信息,可以删除。
+ System.Windows.Forms.Application.Exit();//退出程序
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ if (null != ex)
+ {
+ string strMsg = "InitControl failed. Error Code: " + ex.Message;
+ System.Windows.Forms.MessageBox.Show(strMsg);
+ }
+ else
+ {
+ return;
+ }
+ }
+
+ }
+
+ static void HandleException(Exception ex)
+ {
+ // 记录异常信息
+ string logPath = @"\Logs\app_crash.log";
+ Directory.CreateDirectory(Path.GetDirectoryName(logPath));
+ File.AppendAllText(logPath, $"{DateTime.Now}: {ex}\n");
+
+ // 显示错误信息(可选)
+ System.Windows.Forms.MessageBox.Show($"程序发生错误: {ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
+
+ // 退出程序
+ Environment.Exit(1);
}
}
}
\ No newline at end of file
diff --git a/LB_SmartVision/VisionForm.Designer.cs b/LB_SmartVision/VisionForm.Designer.cs
index f1c82c3..03ab3bc 100644
--- a/LB_SmartVision/VisionForm.Designer.cs
+++ b/LB_SmartVision/VisionForm.Designer.cs
@@ -65,7 +65,7 @@
theme_VisionForm.Padding = new Padding(10, 70, 10, 9);
theme_VisionForm.RoundCorners = true;
theme_VisionForm.Sizable = true;
- theme_VisionForm.Size = new Size(1440, 880);
+ theme_VisionForm.Size = new Size(1152, 704);
theme_VisionForm.SmartBounds = true;
theme_VisionForm.StartPosition = FormStartPosition.WindowsDefaultLocation;
theme_VisionForm.TabIndex = 0;
@@ -86,8 +86,8 @@
// sc_VisionForm.Panel2
//
sc_VisionForm.Panel2.Controls.Add(grb_Info);
- sc_VisionForm.Size = new Size(1420, 801);
- sc_VisionForm.SplitterDistance = 618;
+ sc_VisionForm.Size = new Size(1132, 625);
+ sc_VisionForm.SplitterDistance = 478;
sc_VisionForm.TabIndex = 1;
//
// tlp_MainView
@@ -99,25 +99,26 @@
tlp_MainView.Controls.Add(materialTabSelector, 0, 0);
tlp_MainView.Dock = DockStyle.Fill;
tlp_MainView.Location = new Point(0, 0);
+ tlp_MainView.Margin = new Padding(2);
tlp_MainView.Name = "tlp_MainView";
tlp_MainView.RowCount = 3;
- tlp_MainView.RowStyles.Add(new RowStyle(SizeType.Absolute, 60F));
- tlp_MainView.RowStyles.Add(new RowStyle(SizeType.Absolute, 39F));
+ tlp_MainView.RowStyles.Add(new RowStyle(SizeType.Absolute, 48F));
+ tlp_MainView.RowStyles.Add(new RowStyle(SizeType.Absolute, 31F));
tlp_MainView.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
- tlp_MainView.Size = new Size(1420, 618);
+ tlp_MainView.Size = new Size(1132, 478);
tlp_MainView.TabIndex = 1;
tlp_MainView.TagString = null;
- //
// materialTabControl
//
materialTabControl.AccessibleRole = AccessibleRole.Sound;
materialTabControl.Depth = 0;
materialTabControl.Dock = DockStyle.Fill;
- materialTabControl.Location = new Point(3, 102);
+ materialTabControl.Location = new Point(2, 81);
+ materialTabControl.Margin = new Padding(2);
materialTabControl.MouseState = MaterialSkin.MouseState.HOVER;
materialTabControl.Name = "materialTabControl";
materialTabControl.SelectedIndex = 0;
- materialTabControl.Size = new Size(1414, 513);
+ materialTabControl.Size = new Size(1128, 395);
materialTabControl.TabIndex = 0;
//
// tlp_VisionMainOperator
@@ -138,11 +139,11 @@
tlp_VisionMainOperator.Controls.Add(btn_GlobalVar, 7, 0);
tlp_VisionMainOperator.Controls.Add(com_ProductName, 8, 0);
tlp_VisionMainOperator.Dock = DockStyle.Fill;
- tlp_VisionMainOperator.Location = new Point(3, 63);
+ tlp_VisionMainOperator.Location = new Point(3, 51);
tlp_VisionMainOperator.Name = "tlp_VisionMainOperator";
tlp_VisionMainOperator.RowCount = 1;
tlp_VisionMainOperator.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
- tlp_VisionMainOperator.Size = new Size(1414, 33);
+ tlp_VisionMainOperator.Size = new Size(1126, 25);
tlp_VisionMainOperator.TabIndex = 0;
tlp_VisionMainOperator.TagString = null;
//
@@ -154,7 +155,7 @@
ckb_AllowRun.Location = new Point(3, 3);
ckb_AllowRun.MinimumSize = new Size(1, 1);
ckb_AllowRun.Name = "ckb_AllowRun";
- ckb_AllowRun.Size = new Size(151, 27);
+ ckb_AllowRun.Size = new Size(119, 19);
ckb_AllowRun.TabIndex = 2;
ckb_AllowRun.Text = "杩愯妯″紡";
//
@@ -169,11 +170,11 @@
btn_Login.Image = null;
btn_Login.ImageAlign = ContentAlignment.MiddleLeft;
btn_Login.InactiveColor = Color.FromArgb(32, 34, 37);
- btn_Login.Location = new Point(160, 3);
+ btn_Login.Location = new Point(128, 3);
btn_Login.Name = "btn_Login";
btn_Login.PressedBorderColor = Color.FromArgb(165, 37, 37);
btn_Login.PressedColor = Color.FromArgb(165, 37, 37);
- btn_Login.Size = new Size(151, 27);
+ btn_Login.Size = new Size(119, 19);
btn_Login.TabIndex = 3;
btn_Login.Text = "鐢ㄦ埛鐧诲綍";
btn_Login.TextAlignment = StringAlignment.Center;
@@ -190,11 +191,11 @@
btn_GlobalVar.Image = null;
btn_GlobalVar.ImageAlign = ContentAlignment.MiddleLeft;
btn_GlobalVar.InactiveColor = Color.FromArgb(32, 34, 37);
- btn_GlobalVar.Location = new Point(1102, 3);
+ btn_GlobalVar.Location = new Point(878, 3);
btn_GlobalVar.Name = "btn_GlobalVar";
btn_GlobalVar.PressedBorderColor = Color.FromArgb(165, 37, 37);
btn_GlobalVar.PressedColor = Color.FromArgb(165, 37, 37);
- btn_GlobalVar.Size = new Size(151, 27);
+ btn_GlobalVar.Size = new Size(119, 19);
btn_GlobalVar.TabIndex = 4;
btn_GlobalVar.Text = "鍏ㄥ眬鍙橀噺";
btn_GlobalVar.TextAlignment = StringAlignment.Center;
@@ -208,9 +209,9 @@
com_ProductName.EnabledCalc = true;
com_ProductName.FormattingEnabled = true;
com_ProductName.ItemHeight = 20;
- com_ProductName.Location = new Point(1259, 3);
+ com_ProductName.Location = new Point(1003, 3);
com_ProductName.Name = "com_ProductName";
- com_ProductName.Size = new Size(152, 26);
+ com_ProductName.Size = new Size(120, 26);
com_ProductName.TabIndex = 5;
com_ProductName.SelectedValueChanged += com_ProductName_SelectedValueChanged;
//
@@ -222,7 +223,7 @@
materialTabSelector.Location = new Point(3, 3);
materialTabSelector.MouseState = MaterialSkin.MouseState.HOVER;
materialTabSelector.Name = "materialTabSelector";
- materialTabSelector.Size = new Size(1414, 54);
+ materialTabSelector.Size = new Size(1126, 42);
materialTabSelector.TabIndex = 1;
//
// grb_Info
@@ -237,7 +238,7 @@
grb_Info.MinimumSize = new Size(1, 1);
grb_Info.Name = "grb_Info";
grb_Info.Padding = new Padding(0, 32, 0, 0);
- grb_Info.Size = new Size(1420, 179);
+ grb_Info.Size = new Size(1132, 143);
grb_Info.TabIndex = 1;
grb_Info.Text = "鏃ュ織鏄剧ず鍖猴細";
grb_Info.TextAlignment = ContentAlignment.MiddleLeft;
@@ -253,7 +254,7 @@
rich_Info.Name = "rich_Info";
rich_Info.Padding = new Padding(2);
rich_Info.ShowText = false;
- rich_Info.Size = new Size(1420, 147);
+ rich_Info.Size = new Size(1132, 111);
rich_Info.TabIndex = 0;
rich_Info.TextAlignment = ContentAlignment.MiddleLeft;
//
@@ -267,7 +268,7 @@
cb_VisionForm.EnableMaximizeButton = true;
cb_VisionForm.EnableMinimizeButton = true;
cb_VisionForm.ForeColor = Color.FromArgb(155, 155, 155);
- cb_VisionForm.Location = new Point(1360, 14);
+ cb_VisionForm.Location = new Point(1052, 18);
cb_VisionForm.MaximizeHoverColor = Color.FromArgb(74, 74, 74);
cb_VisionForm.MinimizeHoverColor = Color.FromArgb(63, 63, 65);
cb_VisionForm.Name = "cb_VisionForm";
@@ -279,7 +280,7 @@
//
AutoScaleDimensions = new SizeF(96F, 96F);
AutoScaleMode = AutoScaleMode.Dpi;
- ClientSize = new Size(1440, 880);
+ ClientSize = new Size(1152, 704);
Controls.Add(theme_VisionForm);
FormBorderStyle = FormBorderStyle.None;
Icon = (Icon)resources.GetObject("$this.Icon");
diff --git a/LB_SmartVision/images/01.JPG b/LB_SmartVision/images/01.JPG
new file mode 100644
index 0000000..8e0a603
--- /dev/null
+++ b/LB_SmartVision/images/01.JPG
Binary files differ
diff --git a/LB_SmartVision/images/02.png b/LB_SmartVision/images/02.png
new file mode 100644
index 0000000..442c206
--- /dev/null
+++ b/LB_SmartVision/images/02.png
Binary files differ
diff --git a/LB_SmartVision/images/03.png b/LB_SmartVision/images/03.png
new file mode 100644
index 0000000..04b53b8
--- /dev/null
+++ b/LB_SmartVision/images/03.png
Binary files differ
diff --git a/LB_SmartVision/images/04.png b/LB_SmartVision/images/04.png
new file mode 100644
index 0000000..2f29be3
--- /dev/null
+++ b/LB_SmartVision/images/04.png
Binary files differ
diff --git a/LB_SmartVision/images/05.png b/LB_SmartVision/images/05.png
new file mode 100644
index 0000000..f72676c
--- /dev/null
+++ b/LB_SmartVision/images/05.png
Binary files differ
diff --git a/LB_SmartVision/images/06.png b/LB_SmartVision/images/06.png
new file mode 100644
index 0000000..73dfbce
--- /dev/null
+++ b/LB_SmartVision/images/06.png
Binary files differ
diff --git a/LB_SmartVision/images/07.png b/LB_SmartVision/images/07.png
new file mode 100644
index 0000000..c75e5bc
--- /dev/null
+++ b/LB_SmartVision/images/07.png
Binary files differ
diff --git a/LB_SmartVision/images/favicon.ico b/LB_SmartVision/images/favicon.ico
new file mode 100644
index 0000000..cd4ac1c
--- /dev/null
+++ b/LB_SmartVision/images/favicon.ico
Binary files differ
diff --git a/LB_SmartVision/images/lanbao.jpg b/LB_SmartVision/images/lanbao.jpg
new file mode 100644
index 0000000..159cab2
--- /dev/null
+++ b/LB_SmartVision/images/lanbao.jpg
Binary files differ
diff --git a/LB_SmartVision/images/logo.ico b/LB_SmartVision/images/logo.ico
new file mode 100644
index 0000000..5887476
--- /dev/null
+++ b/LB_SmartVision/images/logo.ico
Binary files differ
diff --git a/LB_SmartVision/images/logo_h.png b/LB_SmartVision/images/logo_h.png
new file mode 100644
index 0000000..dd1d0b6
--- /dev/null
+++ b/LB_SmartVision/images/logo_h.png
Binary files differ
diff --git "a/LB_SmartVision/images/\351\224\256\347\233\230.ico" "b/LB_SmartVision/images/\351\224\256\347\233\230.ico"
new file mode 100644
index 0000000..135f336
--- /dev/null
+++ "b/LB_SmartVision/images/\351\224\256\347\233\230.ico"
Binary files differ
diff --git a/LB_SmartVisionLoginUI/App.config b/LB_SmartVisionLoginUI/App.config
deleted file mode 100644
index ecdcf8a..0000000
--- a/LB_SmartVisionLoginUI/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
- <startup>
- <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
- </startup>
-</configuration>
diff --git a/LB_SmartVisionLoginUI/App.xaml.cs b/LB_SmartVisionLoginUI/App.xaml.cs
index 0309187..3969cb7 100644
--- a/LB_SmartVisionLoginUI/App.xaml.cs
+++ b/LB_SmartVisionLoginUI/App.xaml.cs
@@ -11,7 +11,7 @@
/// <summary>
/// App.xaml 鐨勪氦浜掗�昏緫
/// </summary>
- public partial class App : Application
+ public partial class App : System.Windows.Application
{
}
}
diff --git a/LB_SmartVisionLoginUI/LB_SmartVisionLoginUI.csproj b/LB_SmartVisionLoginUI/LB_SmartVisionLoginUI.csproj
index 40a464c..9c26aca 100644
--- a/LB_SmartVisionLoginUI/LB_SmartVisionLoginUI.csproj
+++ b/LB_SmartVisionLoginUI/LB_SmartVisionLoginUI.csproj
@@ -6,10 +6,84 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseWPF>true</UseWPF>
+ <UseWindowsForms>True</UseWindowsForms>
</PropertyGroup>
<ItemGroup>
+ <None Remove="favicon.ico" />
+ <None Remove="images\01.JPG" />
+ <None Remove="images\02.png" />
+ <None Remove="images\03.png" />
+ <None Remove="images\04.png" />
+ <None Remove="images\05.png" />
+ <None Remove="images\06.png" />
+ <None Remove="images\07.png" />
+ <None Remove="images\favicon.ico" />
+ <None Remove="images\lanbao.jpg" />
+ <None Remove="images\logo.ico" />
+ <None Remove="images\logo_h.png" />
+ <None Remove="images\閿洏.ico" />
+ <None Remove="lanbao.jpg" />
+ <None Remove="logo.ico" />
+ <None Remove="logo_h.png" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <Resource Include="favicon.ico">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\01.JPG">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\02.png">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\03.png">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\04.png">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\05.png">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\06.png">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\07.png">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\favicon.ico">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\lanbao.jpg">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\logo.ico">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\logo_h.png">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="images\閿洏.ico">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ </ItemGroup>
+
+ <ItemGroup>
<ProjectReference Include="..\LB_SmartVisionCommon\LB_SmartVisionCommon.csproj" />
</ItemGroup>
+ <ItemGroup>
+ <Resource Include="lanbao.jpg">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="logo.ico">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ <Resource Include="logo_h.png">
+ <CopyToOutputDirectory></CopyToOutputDirectory>
+ </Resource>
+ </ItemGroup>
+
</Project>
diff --git a/LB_SmartVisionLoginUI/MainWindow.xaml b/LB_SmartVisionLoginUI/MainWindow.xaml
index 911a04d..6480596 100644
--- a/LB_SmartVisionLoginUI/MainWindow.xaml
+++ b/LB_SmartVisionLoginUI/MainWindow.xaml
@@ -13,36 +13,25 @@
<Grid x:Name="test" Width="800" Height="460" Opacity="1.0">
<Grid.Background>
- <ImageBrush ImageSource="./images/lanbao.jpg"
- Stretch="UniformToFill"/>
+ <ImageBrush ImageSource="lanbao.jpg"/>
</Grid.Background>
+ <!--<Grid.Background>
+ <ImageBrush ImageSource="/lanbao.jpg"
+ Stretch="UniformToFill"/>
+ </Grid.Background>-->
<!--鏍囬-->
<Border BorderBrush="LightBlue" BorderThickness="3" Height="60" VerticalAlignment="Top" CornerRadius="30" Margin="116,2,102,0" Background="#72F5DEB3">
<Label x:Name="Lbl_Title" BorderBrush="Red" Background="Transparent" Content="杞儙澶栬瑙嗚妫�娴嬬郴缁�" HorizontalAlignment="Center" Foreground="Black" FontFamily="妤蜂綋" FontSize="36" Margin="31,2,91,-2" Width="454"></Label>
</Border>
<!--鍏抽棴绯荤粺-->
- <Image Source="./images/05.png" Height="30" MouseDown="test_Close" Margin="644,15,116,415" ToolTip="鍏抽棴绯荤粺" />
+ <Image Source="/05.png" Height="30" MouseDown="test_Close" Margin="644,15,116,415" ToolTip="鍏抽棴绯荤粺" />
<!--鏈�灏忓寲绯荤粺-->
- <Image Source="./images/06.png" Height="30" Margin="603,15,157,415" MouseDown="test_Min" ToolTip="鏈�灏忓寲"/>
+ <Image Source="/06.png" Height="30" Margin="603,15,157,415" MouseDown="test_Min" ToolTip="鏈�灏忓寲"/>
<Border BorderBrush="LightBlue" Width="700" Height="325" Background="Transparent" BorderThickness="3" CornerRadius="80" Padding="13" >
<Border Width="655" BorderThickness="3" CornerRadius="80" BorderBrush="LightBlue" Padding="23" >
- <!--<Border.Background>
- <ImageBrush ImageSource="./images/lanbao.jpg" Stretch="UniformToFill"/>
- </Border.Background>-->
- <!--<Image Height="161" Width="162" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="-5,40,0,0" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Source="./images/logo.ico"/>-->
- <!--<Image Source="/images/logo_h.png" Height="161" Width="162" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="-5,40,0,0" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Visibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Auto" StretchDirection="DownOnly">-->
- <!--<Image.RenderTransform>
- <TransformGroup>
- <ScaleTransform/>
- <SkewTransform AngleX="0.149"/>
- <RotateTransform/>
- <TranslateTransform X="-0.469"/>
- </TransformGroup>
- </Image.RenderTransform>
- </Image>-->
</Border>
</Border>
@@ -56,9 +45,9 @@
</TransformGroup>
</Border.RenderTransform>
<Button x:Name="Btn_KeyBoard" Margin="283,67,-16,67" Content="" FontFamily="妤蜂綋" FontSize="36" Foreground="Black" Click="Btn_KeyBoard_Click" Visibility="Hidden" >
- <Button.Background>
- <ImageBrush ImageSource="images/閿洏.ico"/>
- </Button.Background>
+ <!--<Button.Background>
+ --><!--<ImageBrush ImageSource="images/閿洏.ico"/>--><!--
+ </Button.Background>-->
</Button>
</Border>
<!--鐢ㄦ埛瀵嗙爜鏍囩鍔犳枃鏈-->
diff --git a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
index 8e76cd9..2c7a2c6 100644
--- a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
+++ b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
@@ -304,7 +304,16 @@
Result = true;
bCompleted = false;
Msg = "";
- OutputImage = null;
+ if (OutputImage != null)
+ {
+ if (OutputImage is HObject)
+ ((HObject)OutputImage).Dispose();
+ else if (OutputImage is Mat)
+ ((Mat)OutputImage).Dispose();
+ else if (OutputImage is Bitmap)
+ ((Bitmap)OutputImage).Dispose();
+ OutputImage = null;
+ }
if (Record != null)
Record.Dispose();
diff --git a/LB_VisionProcesses/Cameras/CameraConfig.cs b/LB_VisionProcesses/Cameras/CameraConfig.cs
index 8210a2e..4bec6f7 100644
--- a/LB_VisionProcesses/Cameras/CameraConfig.cs
+++ b/LB_VisionProcesses/Cameras/CameraConfig.cs
@@ -1,7 +1,9 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing HalconDotNet;
+using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using OpenCvSharp;
using OpenCvSharp.Extensions;
+using System;
using System.Collections.Concurrent;
using System.Diagnostics;
using System.Text;
@@ -302,21 +304,47 @@
Msg = "";
if (OutputImage != null)
{
- if (OutputImage is Bitmap)
- {
+ if (OutputImage is HObject)
+ ((HObject)OutputImage).Dispose();
+ else if (OutputImage is Mat)
+ ((Mat)OutputImage).Dispose();
+ else if (OutputImage is Bitmap)
((Bitmap)OutputImage).Dispose();
- }
+
OutputImage = null;
}
if (Record != null)
{
Record.Dispose();
+ Record = null;
}
}
public override void Dispose()
{
+ if (InputImage != null)
+ {
+ if (InputImage is HObject)
+ ((HObject)InputImage).Dispose();
+ else if (InputImage is Mat)
+ ((Mat)InputImage).Dispose();
+ else if (InputImage is Bitmap)
+ ((Bitmap)InputImage).Dispose();
+ InputImage = null;
+ }
+
+ if (OutputImage != null)
+ {
+ if (OutputImage is HObject)
+ ((HObject)OutputImage).Dispose();
+ else if (OutputImage is Mat)
+ ((Mat)OutputImage).Dispose();
+ else if (OutputImage is Bitmap)
+ ((Bitmap)OutputImage).Dispose();
+
+ OutputImage = null;
+ }
return;
}
--
Gitblit v1.9.3