add:实时笔锋及墨迹预测

This commit is contained in:
2026-03-28 16:59:02 +08:00
parent fd137ae787
commit d325a58f17
10 changed files with 347 additions and 1 deletions
+26 -1
View File
@@ -1,4 +1,4 @@
<Window Name="window" x:Class="Ink_Canvas.MainWindow"
<Window Name="window" x:Class="Ink_Canvas.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
@@ -836,6 +836,22 @@
Toggled="ToggleSwitchDisablePressure_Toggled" />
</ikw:SimpleStackPanel>
<TextBlock Text="{i18n:I18n Key=Canvas_DisablePressureHint}" TextWrapping="Wrap" Foreground="#a1a1aa" />
<ikw:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Foreground="#fafafa" Text="{i18n:I18n Key=Canvas_InkStrokePrediction}" VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" />
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchEnableInkStrokePrediction"
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
Toggled="ToggleSwitchEnableInkStrokePrediction_Toggled" />
</ikw:SimpleStackPanel>
<TextBlock Text="{i18n:I18n Key=Canvas_InkStrokePredictionHint}" TextWrapping="Wrap" Foreground="#a1a1aa" />
<ikw:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Foreground="#fafafa" Text="{i18n:I18n Key=Canvas_VelocityBrushTip}" VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" />
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchEnableVelocityBrushTip"
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
Toggled="ToggleSwitchEnableVelocityBrushTip_Toggled" />
</ikw:SimpleStackPanel>
<TextBlock Text="{i18n:I18n Key=Canvas_VelocityBrushTipHint}" TextWrapping="Wrap" Foreground="#a1a1aa" />
<ikw:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Foreground="#fafafa" Text="{i18n:I18n Key=Canvas_EraserSize}" VerticalAlignment="Center"
@@ -4605,6 +4621,9 @@
PreviewTouchDown="InkCanvas_PreviewTouchDown"
PreviewTouchMove="InkCanvas_PreviewTouchMove"
PreviewTouchUp="InkCanvas_PreviewTouchUp"
PreviewStylusMove="inkCanvas_PreviewStylusMove"
PreviewMouseMove="inkCanvas_PreviewMouseMoveForPrediction"
LostStylusCapture="inkCanvas_LostStylusCapture"
MouseDown="inkCanvas_MouseDown"
MouseMove="inkCanvas_MouseMove"
MouseUp="inkCanvas_MouseUp"
@@ -4614,6 +4633,12 @@
ClipToBounds="False"
Background="Transparent" />
<Canvas x:Name="InkPredictionOverlay" Background="Transparent" IsHitTestVisible="False"
Panel.ZIndex="900">
<Polyline x:Name="InkPredictionPolyline" Visibility="Collapsed" StrokeLineJoin="Round"
StrokeStartLineCap="Round" StrokeEndLineCap="Round" />
</Canvas>
<Canvas x:Name="EraserOverlayCanvas"
Background="Transparent"
IsHitTestVisible="False"