合并图像处理库,删除图像lib库
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
<UserControl x:Class="ImageROIControl.Controls.PolygonRoiCanvas"
|
||||
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:local="clr-namespace:ImageROIControl.Controls"
|
||||
xmlns:models="clr-namespace:ImageROIControl.Models"
|
||||
xmlns:converters="clr-namespace:ImageROIControl.Converters"
|
||||
xmlns:behaviors="clr-namespace:ImageROIControl"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800"
|
||||
x:Name="root"
|
||||
Background="White">
|
||||
<UserControl.Resources>
|
||||
<behaviors:PointListToPointCollectionConverter x:Key="PointListToPointCollectionConverter" />
|
||||
<converters:ROITypeToVisibilityConverter x:Key="ROITypeToVisibilityConverter" />
|
||||
</UserControl.Resources>
|
||||
<Border BorderBrush="Transparent" BorderThickness="1" ClipToBounds="True">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<!-- 左侧控制按钮 -->
|
||||
<Border Grid.Column="0" Background="White" Padding="5">
|
||||
<StackPanel Orientation="Vertical" VerticalAlignment="Top">
|
||||
<Button x:Name="btnZoomIn" Content="+" Background="White" BorderBrush="LightGray" Width="40" Height="40" Margin="2" Click="BtnZoomIn_Click" />
|
||||
<Button x:Name="btnZoomOut" Content="-" Background="White" BorderBrush="LightGray" Width="40" Height="40" Margin="2" Click="BtnZoomOut_Click" />
|
||||
<Button x:Name="btnReset" Content="适应" Background="White" BorderBrush="LightGray" Width="40" Height="40" Margin="2" Click="BtnReset_Click" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
||||
<!-- 图像显示区域 -->
|
||||
<Grid Grid.Column="1" x:Name="imageDisplayGrid" ClipToBounds="True">
|
||||
<Grid x:Name="transformGrid"
|
||||
RenderTransformOrigin="0,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center">
|
||||
<Grid.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform x:Name="scaleTransform"
|
||||
ScaleX="{Binding ZoomScale, ElementName=root}"
|
||||
ScaleY="{Binding ZoomScale, ElementName=root}" />
|
||||
<TranslateTransform x:Name="translateTransform"
|
||||
X="{Binding PanOffsetX, ElementName=root}"
|
||||
Y="{Binding PanOffsetY, ElementName=root}" />
|
||||
</TransformGroup>
|
||||
</Grid.RenderTransform>
|
||||
|
||||
<Canvas x:Name="mainCanvas"
|
||||
Width="{Binding CanvasWidth, ElementName=root}"
|
||||
Height="{Binding CanvasHeight, ElementName=root}"
|
||||
Background="Transparent"
|
||||
MouseWheel="Canvas_MouseWheel"
|
||||
MouseLeftButtonDown="Canvas_MouseLeftButtonDown"
|
||||
MouseLeftButtonUp="Canvas_MouseLeftButtonUp"
|
||||
MouseMove="Canvas_MouseMove"
|
||||
MouseRightButtonDown="Canvas_MouseRightButtonDown">
|
||||
|
||||
<!-- 背景图像 -->
|
||||
<Image x:Name="backgroundImage"
|
||||
Source="{Binding ImageSource, ElementName=root}"
|
||||
Width="{Binding CanvasWidth, ElementName=root}"
|
||||
Height="{Binding CanvasHeight, ElementName=root}"
|
||||
Stretch="Fill" />
|
||||
|
||||
<!-- ROI显示 - 只支持多边形 -->
|
||||
<ItemsControl ItemsSource="{Binding ROIItems, ElementName=root}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<Canvas />
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<!-- 多边形ROI -->
|
||||
<Polygon x:Name="polygonShape"
|
||||
behaviors:PolygonPointsBehavior.PointsSource="{Binding Points}"
|
||||
Stroke="{Binding Color}"
|
||||
StrokeThickness="1"
|
||||
Fill="Transparent"
|
||||
MouseLeftButtonDown="ROI_MouseLeftButtonDown" />
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</Canvas>
|
||||
</Grid>
|
||||
|
||||
<!-- 缩放比例显示 -->
|
||||
<TextBlock Text="{Binding ZoomScale, ElementName=root, StringFormat=Zoom Scale: {0:P0}}"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Bottom"
|
||||
Margin="10"
|
||||
Padding="5"
|
||||
Background="#AA000000"
|
||||
Foreground="White"
|
||||
FontSize="10" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
</UserControl>
|
||||
Reference in New Issue
Block a user