From d0c990eaf6cfdbf77c1f4f8db272f4964ec43310 Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期四, 15 一月 2026 15:58:15 +0800
Subject: [PATCH] 优化西门子S7通讯:支持多数据类型、UI布局调整及配置持久化修复 详细说明: 1. 通讯核心 (SiemensLBS7) * 多类型支持:完善 SendMessage 和 ReceiveMsg,支持 Bool, Byte, Int, DInt, Real, Double, Word, DWord, String的读写。 * Bool 解析优化:增强布尔值解析逻辑,支持字符串 "1"/"0" 及 "True"/"False"(不区分大小写)。 * 错误反馈:捕获数据转换异常(如格式错误),将具体错误信息写入 Msg 属性,便于 UI 展示。
---
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