From b83cfb47b05f0eba9a467373e4caa89be8a5568b Mon Sep 17 00:00:00 2001 From: lincube Date: Tue, 24 Mar 2026 20:16:44 +0800 Subject: [PATCH] 0.7.7.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 笔迹粗细大小调节 --- .../Views/Components/WhiteboardWidget.axaml | 31 ++++++++++++++----- .../Components/WhiteboardWidget.axaml.cs | 23 ++++++++++++-- 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/LanMountainDesktop/Views/Components/WhiteboardWidget.axaml b/LanMountainDesktop/Views/Components/WhiteboardWidget.axaml index 8caae8c..ed4bb86 100644 --- a/LanMountainDesktop/Views/Components/WhiteboardWidget.axaml +++ b/LanMountainDesktop/Views/Components/WhiteboardWidget.axaml @@ -98,17 +98,34 @@ PlacementTarget="{Binding #PenButton}" IsLightDismissEnabled="True" WindowManagerAddShadowHint="False"> - - + + + + + + + diff --git a/LanMountainDesktop/Views/Components/WhiteboardWidget.axaml.cs b/LanMountainDesktop/Views/Components/WhiteboardWidget.axaml.cs index c8cf252..943d5d0 100644 --- a/LanMountainDesktop/Views/Components/WhiteboardWidget.axaml.cs +++ b/LanMountainDesktop/Views/Components/WhiteboardWidget.axaml.cs @@ -40,6 +40,7 @@ public partial class WhiteboardWidget : UserControl, IDesktopComponentWidget, IC private WhiteboardToolMode _toolMode = WhiteboardToolMode.Pen; private bool? _isNightModeApplied; private SKColor _selectedInkColor = SKColors.Black; + private float _selectedInkThickness = 2.5f; private string _componentId = BuiltInComponentIds.DesktopWhiteboard; private string _placementId = string.Empty; private int _noteRetentionDays = WhiteboardNoteRetentionPolicy.DefaultDays; @@ -81,6 +82,11 @@ public partial class WhiteboardWidget : UserControl, IDesktopComponentWidget, IC _selectedInkColor.Green, _selectedInkColor.Blue); } + + if (InkThicknessSlider is not null) + { + InkThicknessSlider.Value = _selectedInkThickness; + } } public int NoteRetentionDays => _noteRetentionDays; @@ -111,7 +117,7 @@ public partial class WhiteboardWidget : UserControl, IDesktopComponentWidget, IC InkCanvas.EditingMode = InkCanvasEditingMode.Ink; var settings = InkCanvas.AvaloniaSkiaInkCanvas.Settings; settings.IgnorePressure = true; - settings.InkThickness = 2.5f; + settings.InkThickness = _selectedInkThickness; settings.EraserSize = new Size(20, 20); settings.IsBitmapCacheEnabled = true; settings.MaxBitmapCacheSize = 2048; @@ -149,7 +155,6 @@ public partial class WhiteboardWidget : UserControl, IDesktopComponentWidget, IC } var settings = InkCanvas.AvaloniaSkiaInkCanvas.Settings; - settings.InkThickness = (float)Math.Clamp(_currentCellSize * 0.06, 2.0, 6.0); var eraserSize = Math.Clamp(_currentCellSize * 0.42, 12, 44); settings.EraserSize = new Size(eraserSize, eraserSize); } @@ -351,6 +356,15 @@ public partial class WhiteboardWidget : UserControl, IDesktopComponentWidget, IC RefreshToolButtonVisuals(); } + private void SetInkThickness(float thickness) + { + _selectedInkThickness = Math.Clamp(thickness, 1.0f, 8.0f); + if (_toolMode == WhiteboardToolMode.Pen) + { + InkCanvas.AvaloniaSkiaInkCanvas.Settings.InkThickness = _selectedInkThickness; + } + } + private void RefreshToolButtonVisuals() { var isNightMode = _isNightModeApplied ?? ResolveIsNightMode(); @@ -418,6 +432,11 @@ public partial class WhiteboardWidget : UserControl, IDesktopComponentWidget, IC SetInkColor(new SKColor(color.R, color.G, color.B, color.A)); } + private void OnInkThicknessSliderValueChanged(object? sender, RangeBaseValueChangedEventArgs e) + { + SetInkThickness((float)e.NewValue); + } + private void OnEraserButtonClick(object? sender, RoutedEventArgs e) { SetToolMode(WhiteboardToolMode.Eraser);