From 005f6590bc3f3b65df5ec3ee50f566a9c88639ad Mon Sep 17 00:00:00 2001 From: fajiao <1519100073@qq.com> Date: Tue, 29 Nov 2022 17:13:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=8C=E5=96=84=E8=BF=90=E7=AE=97?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=8F=82=E6=95=B0=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MarkSeacher/Seacher/DaHuaMarkSearcher.cs | 9 +++-- .../MarkSeacher/Seacher/HiKMarkSeacher.cs | 34 +++---------------- .../MarkSeacher/Seacher/MarkSearcherBase.cs | 14 +++++++- .../MarkSeacher/Seacher/YuShiMarkSeacher.cs | 2 +- 4 files changed, 23 insertions(+), 36 deletions(-) diff --git a/Cis.Application/Core/Component/MarkSeacher/Seacher/DaHuaMarkSearcher.cs b/Cis.Application/Core/Component/MarkSeacher/Seacher/DaHuaMarkSearcher.cs index 478cfd2..4937e19 100644 --- a/Cis.Application/Core/Component/MarkSeacher/Seacher/DaHuaMarkSearcher.cs +++ b/Cis.Application/Core/Component/MarkSeacher/Seacher/DaHuaMarkSearcher.cs @@ -1,6 +1,4 @@ -using System.Drawing; - -namespace Cis.Application.Core.Component.MarkSeacher; +namespace Cis.Application.Core.Component.MarkSeacher; public class DaHuaMarkSearcher : MarkSearcherBase { @@ -22,9 +20,10 @@ public class DaHuaMarkSearcher : MarkSearcherBase return ret; } - protected override PointF GetFOfMatrixByZoomPos(double zoomPos) + protected override double GetZoomTag(double zoomPos) { - throw new NotImplementedException(); + double ret = zoomPos / (128.0 / 42.0) + 1; + return ret; } #endregion Implement diff --git a/Cis.Application/Core/Component/MarkSeacher/Seacher/HiKMarkSeacher.cs b/Cis.Application/Core/Component/MarkSeacher/Seacher/HiKMarkSeacher.cs index b841719..7b3c164 100644 --- a/Cis.Application/Core/Component/MarkSeacher/Seacher/HiKMarkSeacher.cs +++ b/Cis.Application/Core/Component/MarkSeacher/Seacher/HiKMarkSeacher.cs @@ -1,6 +1,4 @@ -using System.Drawing; - -namespace Cis.Application.Core.Component.MarkSeacher; +namespace Cis.Application.Core.Component.MarkSeacher; public class HiKMarkSearcher : MarkSearcherBase { @@ -29,39 +27,17 @@ public class HiKMarkSearcher : MarkSearcherBase return ret; } - protected override PointF GetFOfMatrixByZoomPos(double zoomPos) + protected override double GetZoomTag(double zoomPos) { - PointF pointF = new() - { - X = (float)GetFx(zoomPos), - Y = (float)GetFy(zoomPos) - }; - return pointF; + double ret = HexToDecMa(zoomPos) * 0.1; + ret = (ret - 1) * 0.65 + 1; + return ret; } #endregion Implement #region Util - protected virtual double GetFx(double zoomPos) - { - CameraCalcParams calcParams = CameraCalcParams; - return calcParams.FocusX * GetZoomTag(zoomPos); - } - - protected virtual double GetFy(double zoomPos) - { - CameraCalcParams calcParams = CameraCalcParams; - return calcParams.FocusY * GetZoomTag(zoomPos); - } - - protected virtual double GetZoomTag(double zoomPos) - { - double ret = HexToDecMa(zoomPos) * 0.1; - ret = (ret - 1) * 0.65 + 1; - return ret; - } - protected int HexToDecMa(double wHex) { int wHexInt = wHex.ToInt(); diff --git a/Cis.Application/Core/Component/MarkSeacher/Seacher/MarkSearcherBase.cs b/Cis.Application/Core/Component/MarkSeacher/Seacher/MarkSearcherBase.cs index bd6d8d2..5bb9bed 100644 --- a/Cis.Application/Core/Component/MarkSeacher/Seacher/MarkSearcherBase.cs +++ b/Cis.Application/Core/Component/MarkSeacher/Seacher/MarkSearcherBase.cs @@ -201,7 +201,19 @@ public abstract class MarkSearcherBase /// /// /// - protected abstract PointF GetFOfMatrixByZoomPos(double zoomPos); + protected PointF GetFOfMatrixByZoomPos(double zoomPos) + { + CameraCalcParams calcParams = CameraCalcParams; + double zoomTag = GetZoomTag(zoomPos); + PointF pointF = new() + { + X = (float)(calcParams.FocusX * zoomTag), + Y = (float)(calcParams.FocusY * zoomTag) + }; + return pointF; + } + + protected abstract double GetZoomTag(double zoomPos); #endregion Util diff --git a/Cis.Application/Core/Component/MarkSeacher/Seacher/YuShiMarkSeacher.cs b/Cis.Application/Core/Component/MarkSeacher/Seacher/YuShiMarkSeacher.cs index 2bd253f..ec5a41c 100644 --- a/Cis.Application/Core/Component/MarkSeacher/Seacher/YuShiMarkSeacher.cs +++ b/Cis.Application/Core/Component/MarkSeacher/Seacher/YuShiMarkSeacher.cs @@ -20,7 +20,7 @@ public class YuShiMarkSearcher : MarkSearcherBase throw new NotImplementedException(); } - protected override PointF GetFOfMatrixByZoomPos(double zoomPos) + protected override double GetZoomTag(double zoomPos) { throw new NotImplementedException(); }