diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index 216ca7f0..9a10e6b3 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -806,7 +806,13 @@ - + + + + + /// 绘制圆心标记 + /// + /// 圆心位置 + private void DrawCircleCenter(Point centerPoint) + { + try + { + // 创建一个点作为圆心标记 + var centerSize = 0.5; // 圆心标记的大小 + + // 创建一个小圆作为圆心标记 + var circlePoints = new List(); + for (double angle = 0; angle <= 2 * Math.PI; angle += 0.1) + { + circlePoints.Add(new Point( + centerPoint.X + centerSize * Math.Cos(angle), + centerPoint.Y + centerSize * Math.Sin(angle) + )); + } + + // 绘制圆心点 + var point = new StylusPointCollection(circlePoints); + var stroke = new Stroke(point) + { + DrawingAttributes = inkCanvas.DefaultDrawingAttributes.Clone() + }; + + // 设置圆心点的样式 + stroke.DrawingAttributes.Width = 2.0; + stroke.DrawingAttributes.Height = 2.0; + + // 添加到画布 + inkCanvas.Strokes.Add(stroke); + } + catch (Exception ex) + { + Debug.WriteLine($"绘制圆心标记失败: {ex.Message}"); + } + } } } \ No newline at end of file diff --git a/Ink Canvas/Resources/Settings.cs b/Ink Canvas/Resources/Settings.cs index e9f7031e..baff6774 100644 --- a/Ink Canvas/Resources/Settings.cs +++ b/Ink Canvas/Resources/Settings.cs @@ -90,6 +90,8 @@ namespace Ink_Canvas public bool EnablePalmEraser { get; set; } = true; [JsonProperty("clearCanvasAlsoClearImages")] public bool ClearCanvasAlsoClearImages { get; set; } = true; + [JsonProperty("showCircleCenter")] + public bool ShowCircleCenter { get; set; } = false; } public enum OptionalOperation