Files
DSPS_Lab3/MainWindow.xaml
T
2026-08-22 19:02:35 +03:00

89 lines
4.8 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<Window x:Class="DSPS_Lab3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:DSPS_Lab3"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="64"/>
</Grid.RowDefinitions>
<Image x:Name="MainImage" Grid.Column="0" Grid.Row="0" Margin="10" Stretch="Uniform">
<Image.Style>
<Style TargetType="Image">
<Setter Property="RenderOptions.BitmapScalingMode" Value="NearestNeighbor" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=QualityToggle}" Value="True">
<Setter Property="RenderOptions.BitmapScalingMode" Value="HighQuality" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
<ProgressBar x:Name="progressBar1" Grid.Column="1" Grid.Row="0" VerticalAlignment="Stretch" Orientation="Vertical">
<ProgressBar.LayoutTransform>
<RotateTransform Angle="180" />
</ProgressBar.LayoutTransform>
</ProgressBar>
<CheckBox x:Name="QualityToggle" Content="Smooth" />
<Image x:Name="SlowImage" Grid.Column="1" Grid.Row="0" Margin="10" Stretch="Uniform">
<Image.Style>
<Style TargetType="Image">
<Setter Property="RenderOptions.BitmapScalingMode" Value="NearestNeighbor" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=QualityToggle}" Value="True">
<Setter Property="RenderOptions.BitmapScalingMode" Value="HighQuality" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
<Image x:Name="FastImage" Grid.Column="2" Grid.Row="0" Margin="10" Stretch="Uniform">
<Image.Style>
<Style TargetType="Image">
<Setter Property="RenderOptions.BitmapScalingMode" Value="NearestNeighbor" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=QualityToggle}" Value="True">
<Setter Property="RenderOptions.BitmapScalingMode" Value="HighQuality" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
<GridSplitter Grid.ColumnSpan="3" Grid.Row="1" Height="2" HorizontalAlignment="Stretch" ResizeDirection="Rows"/>
<Grid Grid.Column="0" Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Margin="10" Content="Load Image" FontSize="20px" Click="LoadImageClick"/>
<Button Grid.Column="1" Margin="10" Content="Save Images" FontSize="20px" Click="SaveImagesClick"/>
</Grid>
<StackPanel Grid.Column="1" Grid.Row="2" Margin="10" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<Label Content="{Binding ElementName=kernelSize, Path=Value}" ContentStringFormat="Kernel size: {0}" FontSize="20px"/>
<Label Content="{Binding ElementName=sigmaValue, Path=Value}" ContentStringFormat="σ: {0:F2}" FontSize="20px"/>
</StackPanel>
<Label x:Name="spatialProgress" Grid.Column="1" Grid.Row="0" Content="1"/>
<Label x:Name="fftProgress" Grid.Column="2" Grid.Row="0" Content="2"/>
<Viewbox Stretch="Fill" Grid.Column="2" Grid.Row="2">
<Canvas x:Name="GraphCanvas" Width="100" Height="25" ClipToBounds="True">
</Canvas>
</Viewbox>
<StackPanel Grid.Column="2" Grid.Row="2" >
<Slider x:Name="kernelSize" Margin="5" Maximum="101" Value="5" VerticalAlignment="Center" TickPlacement="TopLeft" TickFrequency="2" IsSnapToTickEnabled="True" Minimum="1" ValueChanged="ChangeParams"/>
<Slider x:Name="sigmaValue" Margin="5" Maximum="10.0" Value="1" VerticalAlignment="Center" Minimum="0.1" ValueChanged="ChangeParams"/>
</StackPanel>
</Grid>
</Window>