From 1261e861cc04e12b5df8bee8fd90db7315e0d6a5 Mon Sep 17 00:00:00 2001 From: zqm Date: Thu, 30 Oct 2025 10:34:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96InfoImage=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=EF=BC=8C=E9=81=BF=E5=85=8D=E9=A2=91=E7=B9=81?= =?UTF-8?q?Dispose=EF=BC=8C=E6=94=B9=E4=B8=BA=E7=9B=B4=E6=8E=A5=E6=B8=85?= =?UTF-8?q?=E9=99=A4=E5=B9=B6=E9=87=8D=E7=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CS/Framework4.0/Toprie/Toprie/Camera.cs | 45 ++++--------------- 1 file changed, 9 insertions(+), 36 deletions(-) diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs index 6cf64a9..4d52668 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs @@ -811,18 +811,7 @@ namespace JoyD.Windows.CS.Toprie // 清除InfoImage和显示标志 lock (_infoImageLock) { - if (_infoImage != null) - { - try - { - _infoImage.Dispose(); - _infoImage = null; - } - catch (Exception ex) - { - Console.WriteLine($"释放InfoImage资源异常: {ex.Message}"); - } - } + _infoImage = null; // 直接设为null,不需要Dispose } _isDisplayingInfo = false; @@ -877,21 +866,13 @@ namespace JoyD.Windows.CS.Toprie // 在InfoImage中显示连接断开信息 lock (_infoImageLock) { - // 释放之前的InfoImage资源 - if (_infoImage != null) + // 如果_infoImage为null,则创建新对象 + if (_infoImage == null) { - try - { - _infoImage.Dispose(); - } - catch (Exception ex) - { - Console.WriteLine($"释放InfoImage资源异常: {ex.Message}"); - } + _infoImage = new Bitmap(BUFFER_WIDTH, BUFFER_HEIGHT); } - // 创建新的InfoImage并绘制断开连接字样 - _infoImage = new Bitmap(BUFFER_WIDTH, BUFFER_HEIGHT); + // 直接在现有InfoImage上重绘,不需要Dispose using (Graphics g = Graphics.FromImage(_infoImage)) { // 设置半透明背景 @@ -936,21 +917,13 @@ namespace JoyD.Windows.CS.Toprie // 在InfoImage中显示正在重连信息 lock (_infoImageLock) { - // 释放之前的InfoImage资源 - if (_infoImage != null) + // 如果_infoImage为null,则创建新对象 + if (_infoImage == null) { - try - { - _infoImage.Dispose(); - } - catch (Exception ex) - { - Console.WriteLine($"释放InfoImage资源异常: {ex.Message}"); - } + _infoImage = new Bitmap(BUFFER_WIDTH, BUFFER_HEIGHT); } - // 创建新的InfoImage并绘制正在重连字样 - _infoImage = new Bitmap(BUFFER_WIDTH, BUFFER_HEIGHT); + // 直接在现有InfoImage上重绘,不需要Dispose using (Graphics g = Graphics.FromImage(_infoImage)) { // 设置半透明背景