Browse Source

compdfkit(win) - 测量Demo 补充角度单位

liyuxuan 1 year ago
parent
commit
1bc5efff0d

+ 1 - 1
Demo/Examples/Compdfkit_Tools/Common/BarControl/CPDFMeasureBarControl.xaml.cs

@@ -112,7 +112,7 @@ namespace Compdfkit_Tools.PDFControl
                         path.Stroke = new SolidColorBrush(Color.FromRgb(0x43, 0x47, 0x4D));
                         path.StrokeThickness = 1.5;
                     }
-                    else if (name == "Rectangle")
+                    else if (name == "Rectangles")
                     {
                         path.Fill = null;
                         path.Data = new RectangleGeometry(new Rect(3.25, 2.75, 14.5, 14.5));

+ 3 - 1
Demo/Examples/Compdfkit_Tools/Measure/MeasureControl.xaml.cs

@@ -185,7 +185,9 @@ namespace Compdfkit_Tools.Measure
                         measureEvent.RulerTranslate = measureInfo.RulerTranslate;
                         measureEvent.RulerBase = measureInfo.RulerBase;
                         measureEvent.RulerBaseUnit = measureInfo.RulerBaseUnit;
-                        measureEvent.MousePos = new Point((int)endPoint.X, (int)endPoint.Y);
+                        measureEvent.MousePos = new Point(
+                           (int)Math.Abs(movevector.X),
+                           (int)Math.Abs(movevector.Y));
                         measureEvent.Type = CPDFMeasureType.CPDF_DISTANCE_MEASURE;
                         NumberFormatInfo formatInfo = new NumberFormatInfo();
                         formatInfo.NumberDecimalDigits = Math.Abs(measureInfo.Precision).ToString().Length - 1;

+ 3 - 3
Demo/Examples/Compdfkit_Tools/Measure/MeasureInfoPanel.xaml.cs

@@ -139,7 +139,7 @@ namespace Compdfkit_Tools.Measure
                     {
                         DistanceText.Text=info.Distance;
                         PrecisionText.Text= ((decimal)info.Precision).ToString();
-                        AngleText.Text = info.Angle.ToString();
+                        AngleText.Text = info.Angle.ToString()+"°";
                         XText.Text=info.MousePos.X.ToString();
                         YText.Text=info.MousePos.Y.ToString();
                         ScaleText.Text = string.Format("{0}{1}={2}{3}",
@@ -153,7 +153,7 @@ namespace Compdfkit_Tools.Measure
                     {
                         DistancePolyLineText.Text = info.Distance;
                         PrecisionPolyLineText.Text = ((decimal)info.Precision).ToString();
-                        AnglePolyLineText.Text = info.Angle.ToString();
+                        AnglePolyLineText.Text = info.Angle.ToString() + "°";
                         ScalePolyLineText.Text = string.Format("{0}{1}={2}{3}",
                             info.RulerBase,
                             info.RulerBaseUnit,
@@ -165,7 +165,7 @@ namespace Compdfkit_Tools.Measure
                     {
                         RoundPolygonText.Text = info.Area;
                         PrecisionPolygonText.Text = ((decimal)info.Precision).ToString();
-                        AnglePolygonText.Text = info.Angle.ToString();
+                        AnglePolygonText.Text = info.Angle.ToString() + "°";
                         ScalePolygonText.Text = string.Format("{0}{1}={2}{3}",
                             info.RulerBase,
                             info.RulerBaseUnit, 

+ 4 - 0
Demo/Examples/Compdfkit_Tools/Measure/MeasureSettingPanel.xaml.cs

@@ -29,6 +29,10 @@ namespace Compdfkit_Tools.Measure
 
         private void ButtonCancel_Click(object sender, RoutedEventArgs e)
         {
+            if (UpdateArgsList != null && UpdateArgsList.Count > 0)
+            {
+                ReturnToInfoPanel = false;
+            }
             UpdateArgsList?.Clear();
             CancelEvent?.Invoke(this, e);
             ReturnToInfoPanel = false;