improve:快捷调色盘
This commit is contained in:
+253
-4
@@ -1251,6 +1251,17 @@
|
||||
Toggled="ToggleSwitchShowQuickColorPalette_Toggled" />
|
||||
</ui:SimpleStackPanel>
|
||||
|
||||
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||
<TextBlock Foreground="#fafafa" Text="快捷调色盘显示模式" VerticalAlignment="Center"
|
||||
FontSize="14" Margin="0,0,16,0" />
|
||||
<ComboBox Name="ComboBoxQuickColorPaletteDisplayMode"
|
||||
FontFamily="Microsoft YaHei UI" SelectedIndex="1"
|
||||
SelectionChanged="ComboBoxQuickColorPaletteDisplayMode_SelectionChanged">
|
||||
<ComboBoxItem Content="单行显示(6色)" FontFamily="Microsoft YaHei UI" />
|
||||
<ComboBoxItem Content="双行显示(8色)" FontFamily="Microsoft YaHei UI" />
|
||||
</ComboBox>
|
||||
</ui:SimpleStackPanel>
|
||||
|
||||
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||
<TextBlock Foreground="#fafafa" Text="橡皮按钮显示" VerticalAlignment="Center"
|
||||
FontSize="14" Margin="0,0,16,0" />
|
||||
@@ -6264,7 +6275,7 @@
|
||||
Margin="0,1,0,0" TextAlignment="Center" />
|
||||
</ui:SimpleStackPanel>
|
||||
|
||||
<!-- 快捷调色盘 -->
|
||||
<!-- 快捷调色盘 - 双行显示模式 -->
|
||||
<ui:SimpleStackPanel Name="QuickColorPalettePanel"
|
||||
Visibility="Collapsed"
|
||||
Orientation="Vertical"
|
||||
@@ -6472,7 +6483,7 @@
|
||||
<!-- 绿色 -->
|
||||
<Border Name="QuickColorGreen"
|
||||
Width="13" Height="13"
|
||||
Background="#00FF00"
|
||||
Background="#16A34A"
|
||||
BorderBrush="#CCCCCC"
|
||||
BorderThickness="1"
|
||||
CornerRadius="3"
|
||||
@@ -6510,7 +6521,7 @@
|
||||
<!-- 蓝色 -->
|
||||
<Border Name="QuickColorBlue"
|
||||
Width="13" Height="13"
|
||||
Background="#0066FF"
|
||||
Background="#2563EB"
|
||||
BorderBrush="#CCCCCC"
|
||||
BorderThickness="1"
|
||||
CornerRadius="3"
|
||||
@@ -6548,7 +6559,7 @@
|
||||
<!-- 紫色 -->
|
||||
<Border Name="QuickColorPurple"
|
||||
Width="13" Height="13"
|
||||
Background="#800080"
|
||||
Background="#9333EA"
|
||||
BorderBrush="#CCCCCC"
|
||||
BorderThickness="1"
|
||||
CornerRadius="3"
|
||||
@@ -6585,6 +6596,244 @@
|
||||
</ui:SimpleStackPanel>
|
||||
</ui:SimpleStackPanel>
|
||||
|
||||
<!-- 快捷调色盘 - 单行显示模式 -->
|
||||
<ui:SimpleStackPanel Name="QuickColorPaletteSingleRowPanel"
|
||||
Visibility="Collapsed"
|
||||
Orientation="Horizontal"
|
||||
HorizontalAlignment="Center"
|
||||
Margin="4,0,4,0"
|
||||
Height="21"
|
||||
MaxHeight="21">
|
||||
<!-- 单行显示:黑、白、红、橙、黄、绿 -->
|
||||
<!-- 黑色 -->
|
||||
<Border Name="QuickColorBlackSingle"
|
||||
Width="13" Height="13"
|
||||
Background="Black"
|
||||
BorderBrush="#CCCCCC"
|
||||
BorderThickness="1"
|
||||
CornerRadius="3"
|
||||
Margin="1,0,1,0"
|
||||
MouseDown="FloatingBarToolBtnMouseDownFeedback_Panel"
|
||||
MouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel"
|
||||
MouseUp="QuickColorBlack_Click"
|
||||
ToolTip="黑色">
|
||||
<Border.Style>
|
||||
<Style TargetType="Border">
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="BorderThickness" Value="2"/>
|
||||
<Setter Property="BorderBrush" Value="#666666"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Border.Style>
|
||||
<!-- Check图标容器 -->
|
||||
<Grid>
|
||||
<!-- Check图标 -->
|
||||
<Path Name="QuickColorBlackCheckSingle"
|
||||
Data="M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z"
|
||||
Fill="White"
|
||||
Stretch="Uniform"
|
||||
Width="8"
|
||||
Height="8"
|
||||
Opacity="1.0"
|
||||
Visibility="Collapsed"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!-- 白色 -->
|
||||
<Border Name="QuickColorWhiteSingle"
|
||||
Width="13" Height="13"
|
||||
Background="White"
|
||||
BorderBrush="#CCCCCC"
|
||||
BorderThickness="1"
|
||||
CornerRadius="3"
|
||||
Margin="1,0,1,0"
|
||||
MouseDown="FloatingBarToolBtnMouseDownFeedback_Panel"
|
||||
MouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel"
|
||||
MouseUp="QuickColorWhite_Click"
|
||||
ToolTip="白色">
|
||||
<Border.Style>
|
||||
<Style TargetType="Border">
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="BorderThickness" Value="2"/>
|
||||
<Setter Property="BorderBrush" Value="#666666"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Border.Style>
|
||||
<!-- Check图标容器 -->
|
||||
<Grid>
|
||||
<!-- Check图标 -->
|
||||
<Path Name="QuickColorWhiteCheckSingle"
|
||||
Data="M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z"
|
||||
Fill="Black"
|
||||
Stretch="Uniform"
|
||||
Width="8"
|
||||
Height="8"
|
||||
Opacity="1.0"
|
||||
Visibility="Collapsed"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!-- 红色 -->
|
||||
<Border Name="QuickColorRedSingle"
|
||||
Width="13" Height="13"
|
||||
Background="#FF0000"
|
||||
BorderBrush="#CCCCCC"
|
||||
BorderThickness="1"
|
||||
CornerRadius="3"
|
||||
Margin="1,0,1,0"
|
||||
MouseDown="FloatingBarToolBtnMouseDownFeedback_Panel"
|
||||
MouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel"
|
||||
MouseUp="QuickColorRed_Click"
|
||||
ToolTip="红色">
|
||||
<Border.Style>
|
||||
<Style TargetType="Border">
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="BorderThickness" Value="2"/>
|
||||
<Setter Property="BorderBrush" Value="#666666"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Border.Style>
|
||||
<!-- Check图标容器 -->
|
||||
<Grid>
|
||||
<!-- Check图标 -->
|
||||
<Path Name="QuickColorRedCheckSingle"
|
||||
Data="M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z"
|
||||
Fill="White"
|
||||
Stretch="Uniform"
|
||||
Width="8"
|
||||
Height="8"
|
||||
Opacity="1.0"
|
||||
Visibility="Collapsed"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!-- 橙色 -->
|
||||
<Border Name="QuickColorOrangeSingle"
|
||||
Width="13" Height="13"
|
||||
Background="#FFA500"
|
||||
BorderBrush="#CCCCCC"
|
||||
BorderThickness="1"
|
||||
CornerRadius="3"
|
||||
Margin="1,0,1,0"
|
||||
MouseDown="FloatingBarToolBtnMouseDownFeedback_Panel"
|
||||
MouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel"
|
||||
MouseUp="QuickColorOrange_Click"
|
||||
ToolTip="橙色">
|
||||
<Border.Style>
|
||||
<Style TargetType="Border">
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="BorderThickness" Value="2"/>
|
||||
<Setter Property="BorderBrush" Value="#666666"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Border.Style>
|
||||
<!-- Check图标容器 -->
|
||||
<Grid>
|
||||
<!-- Check图标 -->
|
||||
<Path Name="QuickColorOrangeCheckSingle"
|
||||
Data="M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z"
|
||||
Fill="Black"
|
||||
Stretch="Uniform"
|
||||
Width="8"
|
||||
Height="8"
|
||||
Opacity="1.0"
|
||||
Visibility="Collapsed"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!-- 黄色 -->
|
||||
<Border Name="QuickColorYellowSingle"
|
||||
Width="13" Height="13"
|
||||
Background="#FFFF00"
|
||||
BorderBrush="#CCCCCC"
|
||||
BorderThickness="1"
|
||||
CornerRadius="3"
|
||||
Margin="1,0,1,0"
|
||||
MouseDown="FloatingBarToolBtnMouseDownFeedback_Panel"
|
||||
MouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel"
|
||||
MouseUp="QuickColorYellow_Click"
|
||||
ToolTip="黄色">
|
||||
<Border.Style>
|
||||
<Style TargetType="Border">
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="BorderThickness" Value="2"/>
|
||||
<Setter Property="BorderBrush" Value="#666666"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Border.Style>
|
||||
<!-- Check图标容器 -->
|
||||
<Grid>
|
||||
<!-- Check图标 -->
|
||||
<Path Name="QuickColorYellowCheckSingle"
|
||||
Data="M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z"
|
||||
Fill="Black"
|
||||
Stretch="Uniform"
|
||||
Width="8"
|
||||
Height="8"
|
||||
Opacity="1.0"
|
||||
Visibility="Collapsed"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!-- 绿色 -->
|
||||
<Border Name="QuickColorGreenSingle"
|
||||
Width="13" Height="13"
|
||||
Background="#008000"
|
||||
BorderBrush="#CCCCCC"
|
||||
BorderThickness="1"
|
||||
CornerRadius="3"
|
||||
Margin="1,0,1,0"
|
||||
MouseDown="FloatingBarToolBtnMouseDownFeedback_Panel"
|
||||
MouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel"
|
||||
MouseUp="QuickColorGreen_Click"
|
||||
ToolTip="绿色">
|
||||
<Border.Style>
|
||||
<Style TargetType="Border">
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="BorderThickness" Value="2"/>
|
||||
<Setter Property="BorderBrush" Value="#666666"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Border.Style>
|
||||
<!-- Check图标容器 -->
|
||||
<Grid>
|
||||
<!-- Check图标 -->
|
||||
<Path Name="QuickColorGreenCheckSingle"
|
||||
Data="M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z"
|
||||
Fill="Black"
|
||||
Stretch="Uniform"
|
||||
Width="8"
|
||||
Height="8"
|
||||
Opacity="1.0"
|
||||
Visibility="Collapsed"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
</ui:SimpleStackPanel>
|
||||
|
||||
<ui:SimpleStackPanel Name="SymbolIconDelete"
|
||||
MouseDown="FloatingBarToolBtnMouseDownFeedback_Panel"
|
||||
MouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel"
|
||||
|
||||
@@ -77,7 +77,17 @@ namespace Ink_Canvas
|
||||
double floatingBarWidth = 284; // 基础宽度
|
||||
if (Settings.Appearance.IsShowQuickColorPalette)
|
||||
{
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 820); // 快捷调色盘显示时的宽度
|
||||
// 根据显示模式调整宽度
|
||||
if (Settings.Appearance.QuickColorPaletteDisplayMode == 0)
|
||||
{
|
||||
// 单行显示模式,自适应宽度,但需要足够空间显示6个颜色
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 120);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 双行显示模式,宽度较大
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 820);
|
||||
}
|
||||
}
|
||||
ViewboxFloatingBar.Margin = new Thickness(
|
||||
(workingArea.Width - floatingBarWidth) / 2,
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Ink_Canvas
|
||||
{
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
#region “手勢”按鈕
|
||||
#region “手勢"按鈕
|
||||
|
||||
/// <summary>
|
||||
/// 用於浮動工具欄的"手勢"按鈕和白板工具欄的"手勢"按鈕的點擊事件
|
||||
@@ -814,28 +814,34 @@ namespace Ink_Canvas
|
||||
switch (border.Name)
|
||||
{
|
||||
case "QuickColorWhite":
|
||||
case "QuickColorWhiteSingle":
|
||||
border.Background = new SolidColorBrush(Colors.White);
|
||||
break;
|
||||
case "QuickColorOrange":
|
||||
case "QuickColorOrangeSingle":
|
||||
border.Background = new SolidColorBrush(Color.FromRgb(255, 165, 0));
|
||||
break;
|
||||
case "QuickColorYellow":
|
||||
case "QuickColorYellowSingle":
|
||||
border.Background = new SolidColorBrush(Colors.Yellow);
|
||||
break;
|
||||
case "QuickColorBlack":
|
||||
case "QuickColorBlackSingle":
|
||||
border.Background = new SolidColorBrush(Colors.Black);
|
||||
break;
|
||||
case "QuickColorBlue":
|
||||
border.Background = new SolidColorBrush(Color.FromRgb(0, 102, 255));
|
||||
border.Background = new SolidColorBrush(Color.FromRgb(37, 99, 235));
|
||||
break;
|
||||
case "QuickColorRed":
|
||||
case "QuickColorRedSingle":
|
||||
border.Background = new SolidColorBrush(Colors.Red);
|
||||
break;
|
||||
case "QuickColorGreen":
|
||||
border.Background = new SolidColorBrush(Colors.Green);
|
||||
case "QuickColorGreenSingle":
|
||||
border.Background = new SolidColorBrush(Color.FromRgb(22, 163, 74));
|
||||
break;
|
||||
case "QuickColorPurple":
|
||||
border.Background = new SolidColorBrush(Color.FromRgb(128, 0, 128));
|
||||
border.Background = new SolidColorBrush(Color.FromRgb(147, 51, 234));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1273,10 +1279,20 @@ namespace Ink_Canvas
|
||||
double floatingBarWidth = ViewboxFloatingBar.ActualWidth * ViewboxFloatingBarScaleTransform.ScaleX;
|
||||
|
||||
// 如果快捷调色盘显示,确保有足够空间
|
||||
if (QuickColorPalettePanel != null && QuickColorPalettePanel.Visibility == Visibility.Visible)
|
||||
if ((QuickColorPalettePanel != null && QuickColorPalettePanel.Visibility == Visibility.Visible) ||
|
||||
(QuickColorPaletteSingleRowPanel != null && QuickColorPaletteSingleRowPanel.Visibility == Visibility.Visible))
|
||||
{
|
||||
// 确保浮动栏有足够宽度容纳快捷调色盘
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 820 * ViewboxFloatingBarScaleTransform.ScaleX);
|
||||
// 根据显示模式调整宽度
|
||||
if (Settings.Appearance.QuickColorPaletteDisplayMode == 0)
|
||||
{
|
||||
// 单行显示模式,自适应宽度,但需要足够空间显示6个颜色
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 120 * ViewboxFloatingBarScaleTransform.ScaleX);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 双行显示模式,宽度较大
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 820 * ViewboxFloatingBarScaleTransform.ScaleX);
|
||||
}
|
||||
}
|
||||
|
||||
pos.X = (screenWidth - floatingBarWidth) / 2;
|
||||
@@ -1378,10 +1394,20 @@ namespace Ink_Canvas
|
||||
double floatingBarWidth = ViewboxFloatingBar.ActualWidth * ViewboxFloatingBarScaleTransform.ScaleX;
|
||||
|
||||
// 如果快捷调色盘显示,确保有足够空间
|
||||
if (QuickColorPalettePanel != null && QuickColorPalettePanel.Visibility == Visibility.Visible)
|
||||
if ((QuickColorPalettePanel != null && QuickColorPalettePanel.Visibility == Visibility.Visible) ||
|
||||
(QuickColorPaletteSingleRowPanel != null && QuickColorPaletteSingleRowPanel.Visibility == Visibility.Visible))
|
||||
{
|
||||
// 确保浮动栏有足够宽度容纳快捷调色盘
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 850 * ViewboxFloatingBarScaleTransform.ScaleX);
|
||||
// 根据显示模式调整宽度
|
||||
if (Settings.Appearance.QuickColorPaletteDisplayMode == 0)
|
||||
{
|
||||
// 单行显示模式,自适应宽度,但需要足够空间显示6个颜色
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 120 * ViewboxFloatingBarScaleTransform.ScaleX);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 双行显示模式,宽度较大
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 850 * ViewboxFloatingBarScaleTransform.ScaleX);
|
||||
}
|
||||
}
|
||||
|
||||
pos.X = (screenWidth - floatingBarWidth) / 2;
|
||||
@@ -1444,10 +1470,20 @@ namespace Ink_Canvas
|
||||
double floatingBarWidth = ViewboxFloatingBar.ActualWidth * ViewboxFloatingBarScaleTransform.ScaleX;
|
||||
|
||||
// 如果快捷调色盘显示,确保有足够空间
|
||||
if (QuickColorPalettePanel != null && QuickColorPalettePanel.Visibility == Visibility.Visible)
|
||||
if ((QuickColorPalettePanel != null && QuickColorPalettePanel.Visibility == Visibility.Visible) ||
|
||||
(QuickColorPaletteSingleRowPanel != null && QuickColorPaletteSingleRowPanel.Visibility == Visibility.Visible))
|
||||
{
|
||||
// 确保浮动栏有足够宽度容纳快捷调色盘
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 820 * ViewboxFloatingBarScaleTransform.ScaleX);
|
||||
// 根据显示模式调整宽度
|
||||
if (Settings.Appearance.QuickColorPaletteDisplayMode == 0)
|
||||
{
|
||||
// 单行显示模式,自适应宽度,但需要足够空间显示6个颜色
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 120 * ViewboxFloatingBarScaleTransform.ScaleX);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 双行显示模式,宽度较大
|
||||
floatingBarWidth = Math.Max(floatingBarWidth, 820 * ViewboxFloatingBarScaleTransform.ScaleX);
|
||||
}
|
||||
}
|
||||
|
||||
pos.X = (screenWidth - floatingBarWidth) / 2;
|
||||
@@ -1546,8 +1582,6 @@ namespace Ink_Canvas
|
||||
if (currentMode != 0)
|
||||
{
|
||||
SaveStrokes();
|
||||
// 总是恢复备份墨迹,不管是否在PPT模式
|
||||
// PPT墨迹和白板墨迹应该分别管理,不应该互相影响
|
||||
RestoreStrokes(true);
|
||||
LogHelper.WriteLogToFile($"退出白板模式,恢复备份墨迹。当前模式:{(BtnPPTSlideShowEnd.Visibility == Visibility.Visible ? "PPT放映" : "桌面")}", LogHelper.LogType.Trace);
|
||||
}
|
||||
@@ -1569,6 +1603,10 @@ namespace Ink_Canvas
|
||||
{
|
||||
QuickColorPalettePanel.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
if (QuickColorPaletteSingleRowPanel != null)
|
||||
{
|
||||
QuickColorPaletteSingleRowPanel.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
if (!isFloatingBarFolded)
|
||||
{
|
||||
@@ -1647,9 +1685,21 @@ namespace Ink_Canvas
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
|
||||
|
||||
// 在批注模式下显示快捷调色盘(如果设置中启用了)
|
||||
if (Settings.Appearance.IsShowQuickColorPalette && QuickColorPalettePanel != null)
|
||||
if (Settings.Appearance.IsShowQuickColorPalette && QuickColorPalettePanel != null && QuickColorPaletteSingleRowPanel != null)
|
||||
{
|
||||
QuickColorPalettePanel.Visibility = Visibility.Visible;
|
||||
// 根据显示模式选择显示哪个面板
|
||||
if (Settings.Appearance.QuickColorPaletteDisplayMode == 0)
|
||||
{
|
||||
// 单行显示模式
|
||||
QuickColorPalettePanel.Visibility = Visibility.Collapsed;
|
||||
QuickColorPaletteSingleRowPanel.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 双行显示模式
|
||||
QuickColorPalettePanel.Visibility = Visibility.Visible;
|
||||
QuickColorPaletteSingleRowPanel.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
}
|
||||
|
||||
// 修复:从线擦切换到批注时,重置为默认笔模式(非高光显示)
|
||||
@@ -1892,7 +1942,7 @@ namespace Ink_Canvas
|
||||
|
||||
private void QuickColorBlue_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
SetQuickColor(Color.FromRgb(0, 102, 255)); // 蓝色
|
||||
SetQuickColor(Color.FromRgb(37, 99, 235)); // 蓝色
|
||||
}
|
||||
|
||||
private void QuickColorRed_Click(object sender, RoutedEventArgs e)
|
||||
@@ -1900,14 +1950,14 @@ namespace Ink_Canvas
|
||||
SetQuickColor(Colors.Red);
|
||||
}
|
||||
|
||||
private void QuickColorGreen_Click(object sender, RoutedEventArgs e)
|
||||
private void QuickColorGreen_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
SetQuickColor(Colors.Green);
|
||||
SetQuickColor(Color.FromRgb(22, 163, 74));
|
||||
}
|
||||
|
||||
private void QuickColorPurple_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
SetQuickColor(Color.FromRgb(128, 0, 128));
|
||||
SetQuickColor(Color.FromRgb(147, 51, 234));
|
||||
}
|
||||
|
||||
private void SetQuickColor(Color color)
|
||||
@@ -1930,10 +1980,10 @@ namespace Ink_Canvas
|
||||
else if (color == Color.FromRgb(255, 165, 0)) lastDesktopInkColor = 8; // 橙色
|
||||
else if (color == Colors.Yellow) lastDesktopInkColor = 4;
|
||||
else if (color == Colors.Black) lastDesktopInkColor = 0;
|
||||
else if (color == Color.FromRgb(0, 102, 255)) lastDesktopInkColor = 3; // 蓝色
|
||||
else if (color == Color.FromRgb(37, 99, 235)) lastDesktopInkColor = 3; // 蓝色
|
||||
else if (color == Colors.Red) lastDesktopInkColor = 1;
|
||||
else if (color == Colors.Green) lastDesktopInkColor = 2; // 绿色
|
||||
else if (color == Color.FromRgb(128, 0, 128)) lastDesktopInkColor = 6; // 紫色
|
||||
else if (color == Colors.Green || color == Color.FromRgb(22, 163, 74)) lastDesktopInkColor = 2;
|
||||
else if (color == Color.FromRgb(147, 51, 234)) lastDesktopInkColor = 6; // 紫色
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1942,10 +1992,10 @@ namespace Ink_Canvas
|
||||
else if (color == Color.FromRgb(255, 165, 0)) lastBoardInkColor = 8; // 橙色
|
||||
else if (color == Colors.Yellow) lastBoardInkColor = 4;
|
||||
else if (color == Colors.Black) lastBoardInkColor = 0;
|
||||
else if (color == Color.FromRgb(0, 102, 255)) lastBoardInkColor = 3; // 蓝色
|
||||
else if (color == Color.FromRgb(37, 99, 235)) lastBoardInkColor = 3; // 蓝色
|
||||
else if (color == Colors.Red) lastBoardInkColor = 1;
|
||||
else if (color == Colors.Green) lastBoardInkColor = 2; // 绿色
|
||||
else if (color == Color.FromRgb(128, 0, 128)) lastBoardInkColor = 6; // 紫色
|
||||
else if (color == Colors.Green || color == Color.FromRgb(22, 163, 74)) lastBoardInkColor = 2;
|
||||
else if (color == Color.FromRgb(147, 51, 234)) lastBoardInkColor = 6; // 紫色
|
||||
}
|
||||
|
||||
// 更新快捷调色盘选择指示器
|
||||
@@ -1957,7 +2007,7 @@ namespace Ink_Canvas
|
||||
|
||||
private void UpdateQuickColorPaletteIndicator(Color selectedColor)
|
||||
{
|
||||
// 隐藏所有check图标
|
||||
// 隐藏所有check图标(双行显示)
|
||||
QuickColorWhiteCheck.Visibility = Visibility.Collapsed;
|
||||
QuickColorOrangeCheck.Visibility = Visibility.Collapsed;
|
||||
QuickColorYellowCheck.Visibility = Visibility.Collapsed;
|
||||
@@ -1966,16 +2016,25 @@ namespace Ink_Canvas
|
||||
QuickColorRedCheck.Visibility = Visibility.Collapsed;
|
||||
QuickColorGreenCheck.Visibility = Visibility.Collapsed;
|
||||
QuickColorPurpleCheck.Visibility = Visibility.Collapsed;
|
||||
|
||||
// 隐藏所有check图标(单行显示)
|
||||
QuickColorWhiteCheckSingle.Visibility = Visibility.Collapsed;
|
||||
QuickColorOrangeCheckSingle.Visibility = Visibility.Collapsed;
|
||||
QuickColorYellowCheckSingle.Visibility = Visibility.Collapsed;
|
||||
QuickColorBlackCheckSingle.Visibility = Visibility.Collapsed;
|
||||
QuickColorRedCheckSingle.Visibility = Visibility.Collapsed;
|
||||
QuickColorGreenCheckSingle.Visibility = Visibility.Collapsed;
|
||||
|
||||
// 显示当前选中颜色的check图标
|
||||
// 使用更精确的颜色匹配,减少容差范围避免误判
|
||||
if (IsColorSimilar(selectedColor, Colors.White, 10) || IsColorSimilar(selectedColor, Color.FromRgb(250, 250, 250), 10))
|
||||
{
|
||||
QuickColorWhiteCheck.Visibility = Visibility.Visible;
|
||||
QuickColorWhiteCheckSingle.Visibility = Visibility.Visible;
|
||||
}
|
||||
else if (IsColorSimilar(selectedColor, Colors.Black, 10))
|
||||
{
|
||||
QuickColorBlackCheck.Visibility = Visibility.Visible;
|
||||
QuickColorBlackCheckSingle.Visibility = Visibility.Visible;
|
||||
}
|
||||
else if (IsColorSimilar(selectedColor, Colors.Yellow, 15) ||
|
||||
IsColorSimilar(selectedColor, Color.FromRgb(234, 179, 8), 15) ||
|
||||
@@ -1983,36 +2042,37 @@ namespace Ink_Canvas
|
||||
IsColorSimilar(selectedColor, Color.FromRgb(253, 224, 71), 15))
|
||||
{
|
||||
QuickColorYellowCheck.Visibility = Visibility.Visible;
|
||||
QuickColorYellowCheckSingle.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))
|
||||
{
|
||||
QuickColorOrangeCheck.Visibility = Visibility.Visible;
|
||||
QuickColorOrangeCheckSingle.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))
|
||||
else if (IsColorSimilar(selectedColor, Color.FromRgb(37, 99, 235), 15))
|
||||
{
|
||||
QuickColorBlueCheck.Visibility = Visibility.Visible;
|
||||
// 单行显示模式没有蓝色,所以不设置单行的check
|
||||
}
|
||||
else if (IsColorSimilar(selectedColor, Colors.Red, 15) ||
|
||||
IsColorSimilar(selectedColor, Color.FromRgb(220, 38, 38), 15) ||
|
||||
IsColorSimilar(selectedColor, Color.FromRgb(239, 68, 68), 15))
|
||||
{
|
||||
QuickColorRedCheck.Visibility = Visibility.Visible;
|
||||
QuickColorRedCheckSingle.Visibility = Visibility.Visible;
|
||||
}
|
||||
else if (IsColorSimilar(selectedColor, Colors.Green, 15) ||
|
||||
IsColorSimilar(selectedColor, Color.FromRgb(34, 197, 94), 15) ||
|
||||
IsColorSimilar(selectedColor, Color.FromRgb(22, 163, 74), 15))
|
||||
{
|
||||
QuickColorGreenCheck.Visibility = Visibility.Visible;
|
||||
QuickColorGreenCheckSingle.Visibility = Visibility.Visible;
|
||||
}
|
||||
else if (IsColorSimilar(selectedColor, Color.FromRgb(128, 0, 128), 15) ||
|
||||
IsColorSimilar(selectedColor, Color.FromRgb(147, 51, 234), 15) ||
|
||||
IsColorSimilar(selectedColor, Color.FromRgb(168, 85, 247), 15))
|
||||
else if (IsColorSimilar(selectedColor, Color.FromRgb(147, 51, 234), 15))
|
||||
{
|
||||
QuickColorPurpleCheck.Visibility = Visibility.Visible;
|
||||
// 单行显示模式没有紫色,所以不设置单行的check
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1864,6 +1864,7 @@ namespace Ink_Canvas
|
||||
Settings.Appearance.IsShowLassoSelectButton = true;
|
||||
Settings.Appearance.IsShowClearAndMouseButton = true;
|
||||
Settings.Appearance.IsShowQuickColorPalette = false;
|
||||
Settings.Appearance.QuickColorPaletteDisplayMode = 1;
|
||||
Settings.Appearance.EraserDisplayOption = 0;
|
||||
|
||||
Settings.Automation.IsAutoFoldInEasiNote = true;
|
||||
@@ -2415,6 +2416,14 @@ namespace Ink_Canvas
|
||||
SaveSettingsToFile();
|
||||
}
|
||||
|
||||
private void ComboBoxQuickColorPaletteDisplayMode_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
if (!isLoaded) return;
|
||||
Settings.Appearance.QuickColorPaletteDisplayMode = ComboBoxQuickColorPaletteDisplayMode.SelectedIndex;
|
||||
UpdateFloatingBarButtonsVisibility();
|
||||
SaveSettingsToFile();
|
||||
}
|
||||
|
||||
private void ComboBoxEraserDisplayOption_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
if (!isLoaded) return;
|
||||
@@ -2452,19 +2461,32 @@ namespace Ink_Canvas
|
||||
if (Fold_Icon != null)
|
||||
Fold_Icon.Visibility = Settings.Appearance.IsShowHideButton ? Visibility.Visible : Visibility.Collapsed;
|
||||
|
||||
// 快捷调色盘
|
||||
if (QuickColorPalettePanel != null)
|
||||
// 快捷调色盘
|
||||
if (QuickColorPalettePanel != null && QuickColorPaletteSingleRowPanel != null)
|
||||
{
|
||||
bool shouldShow = Settings.Appearance.IsShowQuickColorPalette && inkCanvas.EditingMode == InkCanvasEditingMode.Ink;
|
||||
bool wasVisible = QuickColorPalettePanel.Visibility == Visibility.Visible;
|
||||
bool wasVisible = QuickColorPalettePanel.Visibility == Visibility.Visible || QuickColorPaletteSingleRowPanel.Visibility == Visibility.Visible;
|
||||
|
||||
if (shouldShow)
|
||||
{
|
||||
QuickColorPalettePanel.Visibility = Visibility.Visible;
|
||||
// 根据显示模式选择显示哪个面板
|
||||
if (Settings.Appearance.QuickColorPaletteDisplayMode == 0)
|
||||
{
|
||||
// 单行显示模式
|
||||
QuickColorPalettePanel.Visibility = Visibility.Collapsed;
|
||||
QuickColorPaletteSingleRowPanel.Visibility = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 双行显示模式
|
||||
QuickColorPalettePanel.Visibility = Visibility.Visible;
|
||||
QuickColorPaletteSingleRowPanel.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
QuickColorPalettePanel.Visibility = Visibility.Collapsed;
|
||||
QuickColorPaletteSingleRowPanel.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
// 如果快捷调色盘的可见性发生变化,重新计算浮动栏位置
|
||||
@@ -2473,7 +2495,19 @@ namespace Ink_Canvas
|
||||
if (BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
||||
ViewboxFloatingBarMarginAnimation(60);
|
||||
else
|
||||
ViewboxFloatingBarMarginAnimation(100, true);
|
||||
{
|
||||
// 根据显示模式调整动画参数
|
||||
if (Settings.Appearance.QuickColorPaletteDisplayMode == 0)
|
||||
{
|
||||
// 单行显示模式,动画参数较小
|
||||
ViewboxFloatingBarMarginAnimation(60, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 双行显示模式,动画参数较大
|
||||
ViewboxFloatingBarMarginAnimation(100, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -317,6 +317,7 @@ namespace Ink_Canvas
|
||||
ToggleSwitchShowLassoSelectButton.IsOn = Settings.Appearance.IsShowLassoSelectButton;
|
||||
ToggleSwitchShowClearAndMouseButton.IsOn = Settings.Appearance.IsShowClearAndMouseButton;
|
||||
ComboBoxEraserDisplayOption.SelectedIndex = Settings.Appearance.EraserDisplayOption;
|
||||
ComboBoxQuickColorPaletteDisplayMode.SelectedIndex = Settings.Appearance.QuickColorPaletteDisplayMode;
|
||||
|
||||
// 初始化快捷调色盘指示器
|
||||
UpdateQuickColorPaletteIndicator(inkCanvas.DefaultDrawingAttributes.Color);
|
||||
|
||||
@@ -218,6 +218,9 @@ namespace Ink_Canvas
|
||||
|
||||
[JsonProperty("isShowQuickColorPalette")]
|
||||
public bool IsShowQuickColorPalette { get; set; } = false;
|
||||
|
||||
[JsonProperty("quickColorPaletteDisplayMode")]
|
||||
public int QuickColorPaletteDisplayMode { get; set; } = 1;
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user