add:issue #126
This commit is contained in:
@@ -806,7 +806,13 @@
|
|||||||
<TextBlock Text="# 请注意,若不保留双曲线渐近线可能会有遇到撤回相关的 BUG 影响用。" TextWrapping="Wrap"
|
<TextBlock Text="# 请注意,若不保留双曲线渐近线可能会有遇到撤回相关的 BUG 影响用。" TextWrapping="Wrap"
|
||||||
Foreground="#a1a1aa" />
|
Foreground="#a1a1aa" />
|
||||||
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
<TextBlock Foreground="#fafafa" Text="使用WPF默认贝塞尔曲线平滑"
|
<TextBlock Foreground="#fafafa" Text="绘制圆时显示圆心位置" VerticalAlignment="Center" FontSize="14" Margin="0,0,16,0" />
|
||||||
|
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchShowCircleCenter"
|
||||||
|
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
||||||
|
Toggled="ToggleSwitchShowCircleCenter_Toggled" />
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
|
<TextBlock Foreground="#fafafa" Text="使用WPF默认贝塞尔曲线平滑"
|
||||||
VerticalAlignment="Center" FontSize="14" Margin="0,0,16,0" />
|
VerticalAlignment="Center" FontSize="14" Margin="0,0,16,0" />
|
||||||
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchFitToCurve"
|
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchFitToCurve"
|
||||||
IsOn="False" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
IsOn="False" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
||||||
|
|||||||
@@ -2791,6 +2791,13 @@ namespace Ink_Canvas
|
|||||||
SaveSettingsToFile();
|
SaveSettingsToFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ToggleSwitchShowCircleCenter_Toggled(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
if (!isLoaded) return;
|
||||||
|
Settings.Canvas.ShowCircleCenter = ToggleSwitchShowCircleCenter.IsOn;
|
||||||
|
SaveSettingsToFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -550,6 +550,7 @@ namespace Ink_Canvas
|
|||||||
ToggleSwitchClearCanvasAndClearTimeMachine.IsOn =
|
ToggleSwitchClearCanvasAndClearTimeMachine.IsOn =
|
||||||
Settings.Canvas.ClearCanvasAndClearTimeMachine;
|
Settings.Canvas.ClearCanvasAndClearTimeMachine;
|
||||||
ToggleSwitchClearCanvasAlsoClearImages.IsOn = Settings.Canvas.ClearCanvasAlsoClearImages;
|
ToggleSwitchClearCanvasAlsoClearImages.IsOn = Settings.Canvas.ClearCanvasAlsoClearImages;
|
||||||
|
ToggleSwitchShowCircleCenter.IsOn = Settings.Canvas.ShowCircleCenter;
|
||||||
|
|
||||||
switch (Settings.Canvas.EraserShapeType)
|
switch (Settings.Canvas.EraserShapeType)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -890,6 +890,12 @@ namespace Ink_Canvas
|
|||||||
|
|
||||||
lastTempStroke = stroke;
|
lastTempStroke = stroke;
|
||||||
inkCanvas.Strokes.Add(stroke);
|
inkCanvas.Strokes.Add(stroke);
|
||||||
|
|
||||||
|
// 如果启用了圆心标记功能,则绘制圆心
|
||||||
|
if (Settings.Canvas.ShowCircleCenter)
|
||||||
|
{
|
||||||
|
DrawCircleCenter(iniP);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@@ -989,6 +995,12 @@ namespace Ink_Canvas
|
|||||||
|
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
|
||||||
|
// 如果启用了圆心标记功能,则绘制圆心
|
||||||
|
if (Settings.Canvas.ShowCircleCenter)
|
||||||
|
{
|
||||||
|
DrawCircleCenter(iniP);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 24:
|
case 24:
|
||||||
case 25:
|
case 25:
|
||||||
@@ -1953,5 +1965,46 @@ namespace Ink_Canvas
|
|||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
SetCursorBasedOnEditingMode(inkCanvas);
|
SetCursorBasedOnEditingMode(inkCanvas);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 绘制圆心标记
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="centerPoint">圆心位置</param>
|
||||||
|
private void DrawCircleCenter(Point centerPoint)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 创建一个点作为圆心标记
|
||||||
|
var centerSize = 0.5; // 圆心标记的大小
|
||||||
|
|
||||||
|
// 创建一个小圆作为圆心标记
|
||||||
|
var circlePoints = new List<Point>();
|
||||||
|
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}");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -90,6 +90,8 @@ namespace Ink_Canvas
|
|||||||
public bool EnablePalmEraser { get; set; } = true;
|
public bool EnablePalmEraser { get; set; } = true;
|
||||||
[JsonProperty("clearCanvasAlsoClearImages")]
|
[JsonProperty("clearCanvasAlsoClearImages")]
|
||||||
public bool ClearCanvasAlsoClearImages { get; set; } = true;
|
public bool ClearCanvasAlsoClearImages { get; set; } = true;
|
||||||
|
[JsonProperty("showCircleCenter")]
|
||||||
|
public bool ShowCircleCenter { get; set; } = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum OptionalOperation
|
public enum OptionalOperation
|
||||||
|
|||||||
Reference in New Issue
Block a user