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(); }