添加气泡检测界面图标

This commit is contained in:
李伟
2026-04-28 14:37:15 +08:00
parent 0c2e360f21
commit 1822e15908
8 changed files with 38 additions and 13 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 609 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

@@ -43,14 +43,22 @@
<!-- 工具选择 --> <!-- 工具选择 -->
<TextBlock Text="工具" FontWeight="SemiBold" Margin="0,0,0,4" /> <TextBlock Text="工具" FontWeight="SemiBold" Margin="0,0,0,4" />
<WrapPanel> <WrapPanel>
<RadioButton x:Name="RbRoi" Content="ROI" IsChecked="True" Margin="0,0,4,4" <RadioButton x:Name="RbRoi" IsChecked="True" Margin="0,0,4,4"
Style="{StaticResource ToolToggleStyle}" /> ToolTip="ROI" Style="{StaticResource ToolToggleStyle}">
<RadioButton x:Name="RbWand" Content="魔棒" Margin="0,0,4,4" <Image Source="/Assets/Icons/rectangle32.png" Width="20" Height="20" />
Style="{StaticResource ToolToggleStyle}" /> </RadioButton>
<RadioButton x:Name="RbBrush" Content="画笔" Margin="0,0,4,4" <RadioButton x:Name="RbWand" Margin="0,0,4,4"
Style="{StaticResource ToolToggleStyle}" /> ToolTip="魔棒" Style="{StaticResource ToolToggleStyle}">
<RadioButton x:Name="RbEraser" Content="橡皮擦" Margin="0,0,0,4" <Image Source="/Assets/Icons/magic32.png" Width="20" Height="20" />
Style="{StaticResource ToolToggleStyle}" /> </RadioButton>
<RadioButton x:Name="RbBrush" Margin="0,0,4,4"
ToolTip="画笔" Style="{StaticResource ToolToggleStyle}">
<Image Source="/Assets/Icons/brush32.png" Width="20" Height="20" />
</RadioButton>
<RadioButton x:Name="RbEraser" Margin="0,0,0,4"
ToolTip="橡皮擦" Style="{StaticResource ToolToggleStyle}">
<Image Source="/Assets/Icons/eraser32.png" Width="20" Height="20" />
</RadioButton>
</WrapPanel> </WrapPanel>
<Separator Margin="0,6" /> <Separator Margin="0,6" />
@@ -58,9 +66,9 @@
<!-- 阈值 --> <!-- 阈值 -->
<TextBlock Text="灰度阈值(与点击点的最大灰度差)" Margin="0,0,0,4" FontSize="11" Foreground="Gray" /> <TextBlock Text="灰度阈值(与点击点的最大灰度差)" Margin="0,0,0,4" FontSize="11" Foreground="Gray" />
<DockPanel> <DockPanel>
<TextBox x:Name="TbThreshold" DockPanel.Dock="Right" Width="45" Text="128" <TextBox x:Name="TbThreshold" DockPanel.Dock="Right" Width="45" Text="30"
VerticalContentAlignment="Center" Margin="6,0,0,0" /> VerticalContentAlignment="Center" Margin="6,0,0,0" />
<Slider x:Name="SliderThreshold" Minimum="0" Maximum="255" Value="128" <Slider x:Name="SliderThreshold" Minimum="0" Maximum="60" Value="30"
VerticalAlignment="Center" /> VerticalAlignment="Center" />
</DockPanel> </DockPanel>
@@ -86,9 +94,13 @@
<!-- 操作按钮 --> <!-- 操作按钮 -->
<WrapPanel HorizontalAlignment="Center"> <WrapPanel HorizontalAlignment="Center">
<Button Content="撤销" Padding="12,4" Margin="0,0,8,0" Click="Undo_Click" /> <Button Padding="8,4" Margin="0,0,8,0" ToolTip="撤销" Click="Undo_Click">
<Button Content="清除标记" Padding="12,4" Margin="0,0,8,0" Click="ClearMask_Click" /> <Image Source="/Assets/Icons/Undo.png" Width="20" Height="20" />
<Button Content="完成" Padding="12,4" Click="Finish_Click" /> </Button>
<Button Padding="8,4" Margin="0,0,8,0" ToolTip="清除标记" Click="ClearMask_Click">
<Image Source="/Assets/Icons/Clear.png" Width="20" Height="20" />
</Button>
<Button Content="OK" Padding="12,4" Click="Finish_Click" />
</WrapPanel> </WrapPanel>
</StackPanel> </StackPanel>
</Window> </Window>
@@ -48,6 +48,19 @@ namespace XplorePlane.Views.ImageProcessing
_canvas?.SetBubbleBrushSize((int)SliderBrushSize.Value); _canvas?.SetBubbleBrushSize((int)SliderBrushSize.Value);
}; };
// VoidLimit 同步
TbVoidLimit.TextChanged += (s, ev) =>
{
if (double.TryParse(TbVoidLimit.Text, out double val))
_canvas?.SetBubbleVoidLimit(System.Math.Clamp(val, 0, 100));
};
// 初始同步:确保面板默认值推送到 canvas
_canvas?.SetBubbleThreshold((int)SliderThreshold.Value);
_canvas?.SetBubbleBrushSize((int)SliderBrushSize.Value);
if (double.TryParse(TbVoidLimit.Text, out double initLimit))
_canvas?.SetBubbleVoidLimit(System.Math.Clamp(initLimit, 0, 100));
// 监听 canvas 的工具切换事件(ROI 画完后自动切换时同步面板) // 监听 canvas 的工具切换事件(ROI 画完后自动切换时同步面板)
if (_canvas != null) if (_canvas != null)
{ {