From ed80836fd877a21152cd57ebfa9f17aee4236a2f Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期一, 22 十二月 2025 13:08:44 +0800
Subject: [PATCH] 修复工具图像输入bug添加项目文件。

---
 LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobTool.cs |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobTool.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobTool.cs
index 92cc55c..4999754 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobTool.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobTool.cs
@@ -1,5 +1,6 @@
 锘縰sing HalconDotNet;
 using Newtonsoft.Json;
+using System.Drawing.Imaging;
 
 namespace LB_VisionProcesses.Alogrithms.Halcon
 {
@@ -78,6 +79,24 @@
                     Result = false;
                     return;
                 }
+                if (InputImage is Bitmap)
+                {
+                    try
+                    {
+                        using (HImage hImage = new HImage())
+                        {
+                            Rectangle rect = new Rectangle(0, 0, ((Bitmap)InputImage).Width, ((Bitmap)InputImage).Height);
+                            BitmapData srcBmpData = ((Bitmap)InputImage).LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format32bppRgb);
+                            hImage.GenImageInterleaved(srcBmpData.Scan0, "rgbx", ((Bitmap)InputImage).Width, ((Bitmap)InputImage).Height, 0, "byte", ((Bitmap)InputImage).Width, ((Bitmap)InputImage).Height, 0, 0, -1, 0);
+                            ((Bitmap)InputImage).UnlockBits(srcBmpData);
+                            InputImage = null;
+                            InputImage = hImage.Clone();
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                    }
+                }
                 if (!(InputImage is HObject))
                 {
                     Msg = "杈撳叆鍥剧墖鏍煎紡涓嶄负HObject";

--
Gitblit v1.9.3