add:按钮显示控制

This commit is contained in:
2025-08-11 22:42:36 +08:00
parent 6b5a375542
commit 152be89860
6 changed files with 228 additions and 59 deletions
+38 -14
View File
@@ -1892,37 +1892,61 @@ namespace Ink_Canvas
private void UpdateQuickColorPaletteIndicator(Color selectedColor)
{
// 隐藏所有指示器
QuickColorWhiteIndicator.Visibility = Visibility.Collapsed;
QuickColorOrangeIndicator.Visibility = Visibility.Collapsed;
QuickColorYellowIndicator.Visibility = Visibility.Collapsed;
QuickColorBlackIndicator.Visibility = Visibility.Collapsed;
QuickColorBlueIndicator.Visibility = Visibility.Collapsed;
QuickColorRedIndicator.Visibility = Visibility.Collapsed;
// 隐藏所有高光效果和外圈阴影
QuickColorWhiteGlow.Visibility = Visibility.Collapsed;
QuickColorWhiteGlowShadow.Visibility = Visibility.Collapsed;
QuickColorOrangeGlow.Visibility = Visibility.Collapsed;
QuickColorOrangeGlowShadow.Visibility = Visibility.Collapsed;
QuickColorYellowGlow.Visibility = Visibility.Collapsed;
QuickColorYellowGlowShadow.Visibility = Visibility.Collapsed;
QuickColorBlackGlow.Visibility = Visibility.Collapsed;
QuickColorBlackGlowShadow.Visibility = Visibility.Collapsed;
QuickColorBlueGlow.Visibility = Visibility.Collapsed;
QuickColorBlueGlowShadow.Visibility = Visibility.Collapsed;
QuickColorRedGlow.Visibility = Visibility.Collapsed;
QuickColorRedGlowShadow.Visibility = Visibility.Collapsed;
// 显示当前选中颜色的指示器
// 显示当前选中颜色的高光效果和外圈阴影
// 使用更精确的颜色匹配,减少容差范围避免误判
if (IsColorSimilar(selectedColor, Colors.White, 10) || IsColorSimilar(selectedColor, Color.FromRgb(250, 250, 250), 10))
QuickColorWhiteIndicator.Visibility = Visibility.Visible;
{
QuickColorWhiteGlow.Visibility = Visibility.Visible;
QuickColorWhiteGlowShadow.Visibility = Visibility.Visible;
}
else if (IsColorSimilar(selectedColor, Colors.Black, 10))
QuickColorBlackIndicator.Visibility = Visibility.Visible;
{
QuickColorBlackGlow.Visibility = Visibility.Visible;
QuickColorBlackGlowShadow.Visibility = Visibility.Visible;
}
else if (IsColorSimilar(selectedColor, Colors.Yellow, 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(234, 179, 8), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(250, 204, 21), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(253, 224, 71), 15))
QuickColorYellowIndicator.Visibility = Visibility.Visible;
{
QuickColorYellowGlow.Visibility = Visibility.Visible;
QuickColorYellowGlowShadow.Visibility = Visibility.Visible;
}
else if (IsColorSimilar(selectedColor, Color.FromRgb(255, 165, 0), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(249, 115, 22), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(234, 88, 12), 15))
QuickColorOrangeIndicator.Visibility = Visibility.Visible;
{
QuickColorOrangeGlow.Visibility = Visibility.Visible;
QuickColorOrangeGlowShadow.Visibility = Visibility.Visible;
}
else if (IsColorSimilar(selectedColor, Color.FromRgb(0, 102, 255), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(37, 99, 235), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(59, 130, 246), 15))
QuickColorBlueIndicator.Visibility = Visibility.Visible;
{
QuickColorBlueGlow.Visibility = Visibility.Visible;
QuickColorBlueGlowShadow.Visibility = Visibility.Visible;
}
else if (IsColorSimilar(selectedColor, Colors.Red, 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(220, 38, 38), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(239, 68, 68), 15))
QuickColorRedIndicator.Visibility = Visibility.Visible;
{
QuickColorRedGlow.Visibility = Visibility.Visible;
QuickColorRedGlowShadow.Visibility = Visibility.Visible;
}
}
/// <summary>
+26
View File
@@ -1861,6 +1861,8 @@ namespace Ink_Canvas
Settings.Appearance.IsShowClearButton = true;
Settings.Appearance.IsShowWhiteboardButton = true;
Settings.Appearance.IsShowHideButton = true;
Settings.Appearance.IsShowLassoSelectButton = true;
Settings.Appearance.IsShowClearAndMouseButton = true;
Settings.Appearance.IsShowQuickColorPalette = false;
Settings.Appearance.EraserDisplayOption = 0;
@@ -2381,6 +2383,22 @@ namespace Ink_Canvas
SaveSettingsToFile();
}
private void ToggleSwitchShowLassoSelectButton_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
Settings.Appearance.IsShowLassoSelectButton = ToggleSwitchShowLassoSelectButton.IsOn;
UpdateFloatingBarButtonsVisibility();
SaveSettingsToFile();
}
private void ToggleSwitchShowClearAndMouseButton_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
Settings.Appearance.IsShowClearAndMouseButton = ToggleSwitchShowClearAndMouseButton.IsOn;
UpdateFloatingBarButtonsVisibility();
SaveSettingsToFile();
}
private void ToggleSwitchShowHideButton_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
@@ -2438,6 +2456,14 @@ namespace Ink_Canvas
if (QuickColorPalettePanel != null)
QuickColorPalettePanel.Visibility = Settings.Appearance.IsShowQuickColorPalette ? Visibility.Visible : Visibility.Collapsed;
// 套索选择按钮
if (SymbolIconSelect != null)
SymbolIconSelect.Visibility = Settings.Appearance.IsShowLassoSelectButton ? Visibility.Visible : Visibility.Collapsed;
// 清并鼠按钮
if (CursorWithDelFloatingBarBtn != null)
CursorWithDelFloatingBarBtn.Visibility = Settings.Appearance.IsShowClearAndMouseButton ? Visibility.Visible : Visibility.Collapsed;
// 橡皮按钮显示控制
if (Eraser_Icon != null && EraserByStrokes_Icon != null)
{
@@ -314,6 +314,8 @@ namespace Ink_Canvas
ToggleSwitchShowWhiteboardButton.IsOn = Settings.Appearance.IsShowWhiteboardButton;
ToggleSwitchShowHideButton.IsOn = Settings.Appearance.IsShowHideButton;
ToggleSwitchShowQuickColorPalette.IsOn = Settings.Appearance.IsShowQuickColorPalette;
ToggleSwitchShowLassoSelectButton.IsOn = Settings.Appearance.IsShowLassoSelectButton;
ToggleSwitchShowClearAndMouseButton.IsOn = Settings.Appearance.IsShowClearAndMouseButton;
ComboBoxEraserDisplayOption.SelectedIndex = Settings.Appearance.EraserDisplayOption;
// 初始化快捷调色盘指示器