359 lines
22 KiB
XML
359 lines
22 KiB
XML
<UserControl x:Class="MilUI.ImageMaskView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
|
|
xmlns:auroraUc="clr-namespace:AuroraUIComponent.UserControls;assembly=AuroraUIComponent"
|
|
xmlns:view="clr-namespace:Aurora.View;assembly=Aurora"
|
|
xmlns:local="clr-namespace:MilUI"
|
|
mc:Ignorable="d"
|
|
d:DesignWidth="500" d:DesignHeight="700"
|
|
SizeChanged="UserControl_SizeChanged"
|
|
Background="{DynamicResource AuroraVision.Brushes.Window.Default.Background}"
|
|
Width="500" Height="900">
|
|
<UserControl.Resources>
|
|
<Style TargetType="{x:Type GroupBox}" BasedOn="{StaticResource AVDefaultGB}"/>
|
|
</UserControl.Resources>
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="1*"/>
|
|
<RowDefinition Height="300"/>
|
|
<RowDefinition Height="5"/>
|
|
<RowDefinition Height="70"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<WindowsFormsHost Grid.Row="0">
|
|
<wf:Panel x:Name="winFormPanel"/>
|
|
</WindowsFormsHost>
|
|
|
|
<Grid Grid.Row="1">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="6*"/>
|
|
<ColumnDefinition Width="4*"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<GroupBox Grid.Row="0" Grid.Column="0" Margin="5">
|
|
<GroupBox.Header>
|
|
<TextBlock Style="{StaticResource styleTextBlockSubTitleSmall}">
|
|
<Run Text="{Binding [Mask], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
<Run Text="{Binding [Control], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</TextBlock>
|
|
</GroupBox.Header>
|
|
|
|
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Center">
|
|
<Grid Margin="5">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<RadioButton Grid.Row="0" Grid.Column="0" Margin="1" Style="{StaticResource stylePatternMaskRadioButton}"
|
|
Width="20" Height="20" HorizontalContentAlignment="Center" ToolTip="1"
|
|
Command="{Binding CMD_SetMaskSize}" CommandParameter="1">
|
|
<Rectangle Margin="0" Width="2" Height="2" Fill="{Binding Foreground, RelativeSource={RelativeSource AncestorType=RadioButton}}"/>
|
|
</RadioButton>
|
|
|
|
<RadioButton Grid.Row="0" Grid.Column="1" Margin="1" Style="{StaticResource stylePatternMaskRadioButton}"
|
|
Width="20" Height="20" HorizontalContentAlignment="Center" ToolTip="5"
|
|
Command="{Binding CMD_SetMaskSize}" CommandParameter="5"
|
|
IsChecked="True">
|
|
<Rectangle Margin="0" Width="4" Height="4" Fill="{Binding Foreground, RelativeSource={RelativeSource AncestorType=RadioButton}}"/>
|
|
</RadioButton>
|
|
|
|
<RadioButton Grid.Row="0" Grid.Column="2" Margin="0" Padding="0" Style="{StaticResource stylePatternMaskRadioButton}"
|
|
Width="20" Height="20" HorizontalContentAlignment="Center" ToolTip="10"
|
|
Command="{Binding CMD_SetMaskSize}" CommandParameter="10">
|
|
<Rectangle Margin="0" Width="6" Height="6" Fill="{Binding Foreground, RelativeSource={RelativeSource AncestorType=RadioButton}}"/>
|
|
</RadioButton>
|
|
|
|
<RadioButton Grid.Row="1" Grid.Column="0" Margin="0" Padding="0" Style="{StaticResource stylePatternMaskRadioButton}"
|
|
Width="20" Height="20" HorizontalContentAlignment="Center" ToolTip="20"
|
|
Command="{Binding CMD_SetMaskSize}" CommandParameter="20">
|
|
<Rectangle Margin="0" Width="8" Height="8" Fill="{Binding Foreground, RelativeSource={RelativeSource AncestorType=RadioButton}}"/>
|
|
</RadioButton>
|
|
|
|
<RadioButton Grid.Row="1" Grid.Column="1" Margin="0" Padding="0" Style="{StaticResource stylePatternMaskRadioButton}"
|
|
Width="20" Height="20" HorizontalContentAlignment="Center" ToolTip="50"
|
|
Command="{Binding CMD_SetMaskSize}" CommandParameter="50">
|
|
<Rectangle Margin="0" Width="10" Height="10" Fill="{Binding Foreground, RelativeSource={RelativeSource AncestorType=RadioButton}}"/>
|
|
</RadioButton>
|
|
|
|
<RadioButton Grid.Row="1" Grid.Column="2" Margin="0" Padding="0" Style="{StaticResource stylePatternMaskRadioButton}"
|
|
Width="20" Height="20" HorizontalContentAlignment="Center" ToolTip="100"
|
|
Command="{Binding CMD_SetMaskSize}" CommandParameter="100">
|
|
<Rectangle Margin="0" Width="12" Height="12" Fill="{Binding Foreground, RelativeSource={RelativeSource AncestorType=RadioButton}}"/>
|
|
</RadioButton>
|
|
</Grid>
|
|
|
|
<RadioButton Margin="5" Style="{StaticResource stylePatternMaskRadioButton}"
|
|
Click="EnableMask_Button_Click"
|
|
IsChecked="True">
|
|
<RadioButton.ToolTip>
|
|
<TextBlock>
|
|
<Run Text="{Binding [Masking], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
<Run Text="{Binding [Mode], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</TextBlock>
|
|
</RadioButton.ToolTip>
|
|
<Image Style="{StaticResource stylePatternButtonImage}"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_masking.png"/>
|
|
</RadioButton>
|
|
<RadioButton Margin="5" Style="{StaticResource stylePatternMaskRadioButton}"
|
|
Click="EnableEraser_Button_Click">
|
|
<RadioButton.ToolTip>
|
|
<TextBlock>
|
|
<Run Text="{Binding [Eraser], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
<Run Text="{Binding [Mode], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</TextBlock>
|
|
</RadioButton.ToolTip>
|
|
<Image Style="{StaticResource stylePatternButtonImage}"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_eraser.png"/>
|
|
</RadioButton>
|
|
|
|
<Button Margin ="5" Width="45" Height="45" Background="Transparent"
|
|
Click="ClearMask_Button_Click">
|
|
<Button.ToolTip>
|
|
<TextBlock>
|
|
<Run Text="{Binding [Clear], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</TextBlock>
|
|
</Button.ToolTip>
|
|
<Image Style="{StaticResource stylePatternButtonImage}"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_bin.png"/>
|
|
</Button>
|
|
|
|
<Ellipse Margin="5" Width="15" Height="15" Stroke="#FF2196F3">
|
|
<Ellipse.Fill>
|
|
<ImageBrush ImageSource="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_question.png"/>
|
|
</Ellipse.Fill>
|
|
<Ellipse.ToolTip>
|
|
<TextBlock>
|
|
<Run Text="- Masking : Drag with mouse Right-button"/>
|
|
<LineBreak/>
|
|
<Run Text="- Zoom in/out : Mouse wheels"/>
|
|
<LineBreak/>
|
|
<Run Text="- Scroll image : Drag with mouse Left-button"/>
|
|
</TextBlock>
|
|
</Ellipse.ToolTip>
|
|
</Ellipse>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
|
|
<GroupBox Grid.Row="0" Grid.Column="1" Grid.RowSpan="2" Margin="5">
|
|
<GroupBox.Header>
|
|
<TextBlock Style="{StaticResource styleTextBlockSubTitleSmall}">
|
|
<Run Text="{Binding [Origin], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
<Run Text="{Binding [Control], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</TextBlock>
|
|
</GroupBox.Header>
|
|
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="1*"/>
|
|
<RowDefinition Height="1*"/>
|
|
<RowDefinition Height="1*"/>
|
|
<RowDefinition Height="1*"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<auroraUc:UCKeyValue Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" x:Name="trainOriginMoveStep"
|
|
KeyText="{Binding [MoveStep], Source={StaticResource langTokens}, Mode=OneWay}"
|
|
Value="5" DecimalPlaces="1"/>
|
|
|
|
<Button Grid.Row="1" Grid.Column="0"
|
|
Style="{StaticResource styleTrainOriginControlDiagonalButton}"
|
|
Click="TrainOrigin_Left_Up_Button_Click">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Image RenderOptions.BitmapScalingMode="HighQuality"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_arrow_left_up.png"/>
|
|
</StackPanel>
|
|
</Button>
|
|
|
|
<Button Grid.Row="1" Grid.Column="1"
|
|
Style="{StaticResource styleTrainOriginControlStraightButton}"
|
|
Click="TrainOrigin_Up_Button_Click">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Image RenderOptions.BitmapScalingMode="HighQuality"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_arrow_up.png"/>
|
|
</StackPanel>
|
|
</Button>
|
|
|
|
<Button Grid.Row="1" Grid.Column="2"
|
|
Style="{StaticResource styleTrainOriginControlDiagonalButton}"
|
|
Click="TrainOrigin_Right_Up_Button_Click">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Image RenderOptions.BitmapScalingMode="HighQuality"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_arrow_right_up.png"/>
|
|
</StackPanel>
|
|
</Button>
|
|
|
|
<Button Grid.Row="2" Grid.Column="0"
|
|
Style="{StaticResource styleTrainOriginControlStraightButton}"
|
|
Click="TrainOrigin_Left_Button_Click">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Image RenderOptions.BitmapScalingMode="HighQuality"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_arrow_left.png"/>
|
|
</StackPanel>
|
|
</Button>
|
|
|
|
<Button Grid.Row="2" Grid.Column="1"
|
|
Style="{StaticResource styleTrainOriginControlDiagonalButton}"
|
|
Click="TrainOrigin_Center_Button_Click">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Image RenderOptions.BitmapScalingMode="HighQuality"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_find_roi.png"/>
|
|
</StackPanel>
|
|
</Button>
|
|
|
|
<Button Grid.Row="2" Grid.Column="2"
|
|
Style="{StaticResource styleTrainOriginControlStraightButton}"
|
|
Click="TrainOrigin_Right_Button_Click">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Image RenderOptions.BitmapScalingMode="HighQuality"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_arrow_right.png"/>
|
|
</StackPanel>
|
|
</Button>
|
|
|
|
<Button Grid.Row="3" Grid.Column="0"
|
|
Style="{StaticResource styleTrainOriginControlDiagonalButton}"
|
|
Click="TrainOrigin_Left_Down_Button_Click">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Image RenderOptions.BitmapScalingMode="HighQuality"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_arrow_left_down.png"/>
|
|
</StackPanel>
|
|
</Button>
|
|
|
|
<Button Grid.Row="3" Grid.Column="1"
|
|
Style="{StaticResource styleTrainOriginControlStraightButton}"
|
|
Click="TrainOrigin_Down_Button_Click">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Image RenderOptions.BitmapScalingMode="HighQuality"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_arrow_down.png"/>
|
|
</StackPanel>
|
|
</Button>
|
|
|
|
<Button Grid.Row="3" Grid.Column="2"
|
|
Style="{StaticResource styleTrainOriginControlDiagonalButton}"
|
|
Click="TrainOrigin_Right_Down_Button_Click">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Image RenderOptions.BitmapScalingMode="HighQuality"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_arrow_right_down.png"/>
|
|
</StackPanel>
|
|
</Button>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<GroupBox Grid.Row="1" Grid.Column="0" Grid.RowSpan="2" Margin="5">
|
|
<GroupBox.Header>
|
|
<TextBlock Style="{StaticResource styleTextBlockSubTitleSmall}">
|
|
<Run Text="{Binding [Mask], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
<Run Text="{Binding [Region], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</TextBlock>
|
|
</GroupBox.Header>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="100"/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Grid.Column="0" Grid.RowSpan="3" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<TextBlock Style="{StaticResource stylePatternSliderTextBlock}" HorizontalAlignment="Center">
|
|
<Run Text="{Binding [Layout], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</TextBlock>
|
|
|
|
<ComboBox x:Name="comboBoxMaskLayout"
|
|
Margin="5, 20" Width="80" HorizontalContentAlignment="Center"
|
|
SelectedIndex="3"
|
|
ItemsSource="{Binding MaskLayoutItems}"
|
|
SelectionChanged="ComboBox_SelectionChanged">
|
|
</ComboBox>
|
|
</StackPanel>
|
|
|
|
<Grid Grid.Column="1" x:Name="gridMaskRegion" Margin="10"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<GroupBox Grid.Row="2" Grid.Column="1" Margin="5">
|
|
<GroupBox.Header>
|
|
<TextBlock Text="{Binding [Zoom], Source={StaticResource langTokens}, Mode=OneWay}"
|
|
Style="{StaticResource styleTextBlockSubTitleSmall}"/>
|
|
</GroupBox.Header>
|
|
|
|
<StackPanel Grid.Column="0" Orientation="Horizontal" HorizontalAlignment="Center">
|
|
<Button Margin ="5" Width="45" Height="45" Background="Transparent"
|
|
Click="ZoomMinus_Button_Click">
|
|
<Button.ToolTip>
|
|
<TextBlock>
|
|
<Run Text="{Binding [Zoom], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
<Run Text="{Binding [Out], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</TextBlock>
|
|
</Button.ToolTip>
|
|
<Image Style="{StaticResource stylePatternButtonImage}"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_zoom_minus.png"/>
|
|
</Button>
|
|
|
|
<Button Margin ="5" Width="45" Height="45" Background="Transparent"
|
|
Click="FitImage_Button_Click">
|
|
<Button.ToolTip>
|
|
<TextBlock>
|
|
<Run Text="{Binding [Fit], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</TextBlock>
|
|
</Button.ToolTip>
|
|
<Image Style="{StaticResource stylePatternButtonImage}"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_fit.png"/>
|
|
</Button>
|
|
|
|
<Button Margin ="5" Width="45" Height="45" Background="Transparent"
|
|
Click="ZoomPlus_Button_Click">
|
|
<Button.ToolTip>
|
|
<TextBlock>
|
|
<Run Text="{Binding [Zoom], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
<Run Text="{Binding [In], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</TextBlock>
|
|
</Button.ToolTip>
|
|
<Image Style="{StaticResource stylePatternButtonImage}"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_zoom_plus.png"/>
|
|
</Button>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
</Grid>
|
|
|
|
<Separator Grid.Row="2"/>
|
|
|
|
<StackPanel Grid.Row="3" Margin="10" Orientation="Horizontal" HorizontalAlignment="Right">
|
|
<Button Style="{StaticResource styleBtnPatternSetting}"
|
|
Click="SaveMask_Button_Click">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Image Style="{StaticResource stylePatternButtonImage}"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_ok.png"/>
|
|
<TextBlock Style="{StaticResource stylePatternButtonTextBlock}"
|
|
Text="{Binding [Save], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</StackPanel>
|
|
</Button>
|
|
|
|
<Button Style="{StaticResource styleBtnPatternSetting}"
|
|
Click="Cancel_Button_Click">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Image Style="{StaticResource stylePatternButtonImage}"
|
|
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_cancel.png"/>
|
|
<TextBlock Style="{StaticResource stylePatternButtonTextBlock}"
|
|
Text="{Binding [Close], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
</StackPanel>
|
|
</Button>
|
|
</StackPanel>
|
|
</Grid>
|
|
</UserControl>
|