From ddcfe7aa863977482afe1081701850a8cac463f6 Mon Sep 17 00:00:00 2001 From: zqm Date: Wed, 25 Mar 2026 13:21:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=A5=E6=9F=84=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CS/Framework4.0/Camera/Camera/Camera.cs | 8 ++++++++ .../CS/Framework4.0/Camera/Camera/Setting.cs | 18 +++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/Windows/CS/Framework4.0/Camera/Camera/Camera.cs b/Windows/CS/Framework4.0/Camera/Camera/Camera.cs index dd5172f..0efefa1 100644 --- a/Windows/CS/Framework4.0/Camera/Camera/Camera.cs +++ b/Windows/CS/Framework4.0/Camera/Camera/Camera.cs @@ -17,6 +17,9 @@ namespace Camera private const string USER = "admin"; private const string PASSWD = "Yexian.net.168"; + // 调试模式 + private const Boolean IsDebug = false; + // 配置文件目录 private string _configPath; @@ -296,6 +299,11 @@ namespace Camera /// private Image GetCameraImage() { + if (IsDebug) + { + if (File.Exists("test.jpg")) + return new Bitmap("test.jpg"); + } string url = "http://" + IP + SNAPSHOT_URI; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); diff --git a/Windows/CS/Framework4.0/Camera/Camera/Setting.cs b/Windows/CS/Framework4.0/Camera/Camera/Setting.cs index cc27c4a..602dc22 100644 --- a/Windows/CS/Framework4.0/Camera/Camera/Setting.cs +++ b/Windows/CS/Framework4.0/Camera/Camera/Setting.cs @@ -478,8 +478,8 @@ namespace Camera return; } - float scaleX = (float)imageWidth / picBoxCamera.ClientSize.Width; - float scaleY = (float)imageHeight / picBoxCamera.ClientSize.Height; + float scaleX = (float)picBoxCamera.ClientSize.Width / imageWidth; + float scaleY = (float)picBoxCamera.ClientSize.Height / imageHeight; Rectangle detectionZone = _camera.GetDetectionZone(); Rectangle ledZone = _camera.GetLedZone(); @@ -501,9 +501,12 @@ namespace Camera if (_isEditingDetectionZone || _isEditingLedZone) { Rectangle editRect = _isEditingDetectionZone ? scaledDetectionZone : scaledLedZone; + int handle = GetHoveredHandle(editRect, e.Location); - if (_hoveredHandle >= 0 && _isResizing) + if (_isResizing && handle >= 0) { + picBoxCamera.Cursor = GetResizeCursor(handle); + int dx = e.Location.X - _resizeStartPoint.X; int dy = e.Location.Y - _resizeStartPoint.Y; @@ -562,7 +565,6 @@ namespace Camera } else { - int handle = GetHoveredHandle(editRect, e.Location); if (handle >= 0) { picBoxCamera.Cursor = GetResizeCursor(handle); @@ -579,6 +581,8 @@ namespace Camera } else if (_isMoving) { + picBoxCamera.Cursor = Cursors.SizeAll; + Point imagePoint = new Point((int)(e.X * scaleX), (int)(e.Y * scaleY)); int dx = imagePoint.X - _startPoint.X; @@ -619,6 +623,7 @@ namespace Camera _isEditingDetectionZone = false; toolStripButton1.Checked = false; toolStripButton1.ToolTipText = "修改检测区(点击开启)"; + picBoxCamera.Invalidate(); return; } if (_isEditingLedZone) @@ -626,6 +631,7 @@ namespace Camera _isEditingLedZone = false; toolStripButton2.Checked = false; toolStripButton2.ToolTipText = "绘制Led区(点击开启)"; + picBoxCamera.Invalidate(); return; } } @@ -680,7 +686,7 @@ namespace Camera private int GetHoveredHandle(Rectangle rect, Point point) { - int handleSize = 10; + int handleSize = 8; int[] xPoints = { rect.X, rect.X + rect.Width / 2, rect.X + rect.Width, rect.X + rect.Width, rect.X + rect.Width, rect.X + rect.Width / 2, rect.X, rect.X }; int[] yPoints = { rect.Y, rect.Y, rect.Y, rect.Y + rect.Height / 2, rect.Y + rect.Height, rect.Y + rect.Height, rect.Y + rect.Height, rect.Y + rect.Height / 2 }; @@ -799,6 +805,7 @@ namespace Camera _selectedZoneIndex = -1; toolStripButton1.ToolTipText = "修改检测区(点击开启)"; } + picBoxCamera.Invalidate(); UpdateDataGridView(); } @@ -820,6 +827,7 @@ namespace Camera _selectedZoneIndex = -1; toolStripButton2.ToolTipText = "绘制Led区(点击开启)"; } + picBoxCamera.Invalidate(); UpdateDataGridView(); }