From 67fd626e321eb93bcc6427e017e536e696b0270a Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期二, 13 一月 2026 10:22:28 +0800
Subject: [PATCH] 添加3D硬触发取图触发检测流程。

---
 LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs b/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
index 6e27e23..c03ddab 100644
--- a/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
+++ b/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
@@ -1,3 +1,8 @@
+using LB_SmartVisionCameraDevice.PHM6000;
+using LB_SmartVisionCameraSDK.PHM6000;
+using LB_SmartVisionCommon;
+using LB_VisionProcesses.Cameras;
+using Sunny.UI.Win32;
 using System;
 using System.Collections.Generic;
 using System.Drawing;
@@ -7,10 +12,6 @@
 using System.Text;
 using System.Threading;
 using System.Threading.Tasks;
-using LB_SmartVisionCameraSDK.PHM6000;
-using LB_VisionProcesses.Cameras;
-using LB_SmartVisionCommon;
-using LB_SmartVisionCameraDevice.PHM6000;
 
 namespace LB_VisionProcesses.Cameras.LBCameras
 {
@@ -520,6 +521,7 @@
                         {
                             AsyncLogHelper.Info($"LBCamera[{SN}]: Flushing partial buffer ({_currentLineCount} lines) on completion");
                             CreateAndFireBitmap();
+
                             _currentLineCount = 0;
                         }
                     }
@@ -568,11 +570,22 @@
                 AsyncLogHelper.Info($"LBCamera[{SN}]: Frame {_frameCount} generated ({width}x{height})");
 
                 // 寮傛瑙﹀彂浜嬩欢锛岄伩鍏嶉樆濉濻DK鍥炶皟绾跨▼
-                Task.Run(() => 
+                Task.Factory.StartNew(() => 
                 {
                     try
                     {
                         ImageGrabbed?.Invoke(this, new LBCameraEventArgs(SN, bmp, true));
+                        CallBackImg = (Bitmap)bmp.Clone();
+                        if (CallBackImg == null)
+                        {
+                            return;
+                        }
+                        if (GetTriggerMode(out TriggerMode mode, out TriggerSource source))
+                        {
+                            if (mode == TriggerMode.On && source != TriggerSource.Software)
+                                TriggerRunMessageReceived?.Invoke(SN, source.ToString());  // 瑙﹀彂杩愯浜嬩欢
+                        }
+                        bmp.Dispose();
                     }
                     catch (Exception ex)
                     {

--
Gitblit v1.9.3