C3204
2026-01-13 67fd626e321eb93bcc6427e017e536e696b0270a
添加3D硬触发取图触发检测流程。
已修改2个文件
47 ■■■■■ 文件已修改
LB_VisionProcesses/Cameras/HRCameras/HRCamera.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LB_VisionProcesses/Cameras/HRCameras/HRCamera.cs
@@ -218,21 +218,23 @@
            try
            {
                Bitmap bitmap = ConvertFrameToBitmap(frame);
                // 释放帧数据
                // release frame
                _camera.IMV_ReleaseFrame(ref frame);
                CallBackImg = (Bitmap)bitmap.Clone();
                if (CallBackImg == null)
                Task.Factory.StartNew(() =>
                {
                    return;
                }
                if (GetTriggerMode(out TriggerMode mode, out TriggerSource source))
                {
                    if (mode == TriggerMode.On && source != TriggerSource.Software)
                        TriggerRunMessageReceived?.Invoke(SN, source.ToString());  // 触发运行事件
                }
                bitmap.Dispose();
                    CallBackImg = (Bitmap)bitmap.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());  // 触发运行事件
                    }
                    bitmap.Dispose();
                });
            }
            catch { }
            AsyncLogHelper.Info(SN + "Get frame blockId = {0}" + frame.frameInfo.blockId);
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})");
                // 异步触发事件,避免阻塞SDK回调线程
                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)
                    {