From fec341de45f4b3fd1825807f0b3261143fa13caa Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期一, 29 十二月 2025 17:03:45 +0800
Subject: [PATCH] 修复部分显示工具为面向对象。

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

diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobTool.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobTool.cs
index 92cc55c..b63d02a 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,27 @@
                     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);
+                            ((Bitmap)InputImage).Dispose();
+                            InputImage = hImage.Clone();
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        Msg = "杞浘鍑洪敊锛�" + ex.Message;
+                        Result = false;
+                        return;
+                    }
+                }
                 if (!(InputImage is HObject))
                 {
                     Msg = "杈撳叆鍥剧墖鏍煎紡涓嶄负HObject";
@@ -86,7 +108,7 @@
                 }
 
                 #region 瑁佸壀鍖哄煙
-                object DomainImage = null;
+                HImage DomainImage = null;
                 if (!ReduceDomainImage(InputImage, ref DomainImage))
                 {
                     Msg = "瑁佸壀鍖哄煙澶辫触";

--
Gitblit v1.9.3