mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-06-16 07:55:00 +00:00
refactor: do not upscale images
Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
parent
1b1dc2f666
commit
69792b3262
3 changed files with 12 additions and 26 deletions
|
@ -86,26 +86,12 @@ namespace SourceGit.Views
|
|||
var imageSize = image.Size;
|
||||
var scaleW = availableSize.Width / imageSize.Width;
|
||||
var scaleH = availableSize.Height / imageSize.Height;
|
||||
var scale = Math.Min(scaleW, scaleH);
|
||||
var scale = Math.Min(1, Math.Min(scaleW, scaleH));
|
||||
return new Size(scale * imageSize.Width, scale * imageSize.Height);
|
||||
}
|
||||
|
||||
return availableSize;
|
||||
}
|
||||
|
||||
protected override Size ArrangeOverride(Size finalSize)
|
||||
{
|
||||
if (Image is { } image)
|
||||
{
|
||||
var imageSize = image.Size;
|
||||
var scaleW = finalSize.Width / imageSize.Width;
|
||||
var scaleH = finalSize.Height / imageSize.Height;
|
||||
var scale = Math.Min(scaleW, scaleH);
|
||||
return new Size(scale * imageSize.Width, scale * imageSize.Height);
|
||||
}
|
||||
|
||||
return base.ArrangeOverride(finalSize);
|
||||
}
|
||||
}
|
||||
|
||||
public class ImageSwipeControl : ImageContainer
|
||||
|
@ -243,7 +229,7 @@ namespace SourceGit.Views
|
|||
{
|
||||
var sw = available.Width / img.Width;
|
||||
var sh = available.Height / img.Height;
|
||||
var scale = Math.Min(sw, sh);
|
||||
var scale = Math.Min(1, Math.Min(sw, sh));
|
||||
return new Size(scale * img.Width, scale * img.Height);
|
||||
}
|
||||
|
||||
|
@ -348,7 +334,7 @@ namespace SourceGit.Views
|
|||
{
|
||||
var sw = available.Width / img.Width;
|
||||
var sh = available.Height / img.Height;
|
||||
var scale = Math.Min(sw, sh);
|
||||
var scale = Math.Min(1, Math.Min(sw, sh));
|
||||
return new Size(scale * img.Width, scale * img.Height);
|
||||
}
|
||||
|
||||
|
|
|
@ -32,8 +32,8 @@
|
|||
<TextBlock Classes="primary" Text="{DynamicResource Text.Bytes}" Foreground="{DynamicResource Brush.FG2}" Margin="2,0,0,0"/>
|
||||
</StackPanel>
|
||||
|
||||
<Border Grid.Row="1" Margin="0,12,0,0" Effect="drop-shadow(0 0 8 #A0000000)">
|
||||
<Border Background="{DynamicResource Brush.Popup}" HorizontalAlignment="Center" Padding="8">
|
||||
<Border Grid.Row="1" Margin="0,12,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" Effect="drop-shadow(0 0 8 #A0000000)">
|
||||
<Border Background="{DynamicResource Brush.Popup}" Padding="8">
|
||||
<Border BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}">
|
||||
<v:ImageView Image="{Binding Old}"/>
|
||||
</Border>
|
||||
|
@ -52,8 +52,8 @@
|
|||
<TextBlock Classes="primary" Text="{DynamicResource Text.Bytes}" Foreground="{DynamicResource Brush.FG2}" Margin="2,0,0,0"/>
|
||||
</StackPanel>
|
||||
|
||||
<Border Grid.Row="1" Margin="0,12,0,0" Effect="drop-shadow(0 0 8 #A0000000)">
|
||||
<Border Background="{DynamicResource Brush.Popup}" HorizontalAlignment="Center" Padding="8">
|
||||
<Border Grid.Row="1" Margin="0,12,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" Effect="drop-shadow(0 0 8 #A0000000)">
|
||||
<Border Background="{DynamicResource Brush.Popup}" Padding="8">
|
||||
<Border BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}">
|
||||
<v:ImageView Image="{Binding New}"/>
|
||||
</Border>
|
||||
|
@ -87,8 +87,8 @@
|
|||
<TextBlock Grid.Column="7" Classes="primary" Text="{DynamicResource Text.Bytes}" Foreground="{DynamicResource Brush.FG2}" Margin="2,0,0,0"/>
|
||||
</Grid>
|
||||
|
||||
<Border Grid.Row="1" Margin="0,12,0,0" Effect="drop-shadow(0 0 8 #A0000000)">
|
||||
<Border HorizontalAlignment="Center" Background="{DynamicResource Brush.Window}">
|
||||
<Border Grid.Row="1" Margin="0,12,0,0" HorizontalAlignment="Center" Effect="drop-shadow(0 0 8 #A0000000)">
|
||||
<Border Background="{DynamicResource Brush.Window}">
|
||||
<Border BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}" Margin="8">
|
||||
<v:ImageSwipeControl OldImage="{Binding Old}"
|
||||
NewImage="{Binding New}"
|
||||
|
@ -123,8 +123,8 @@
|
|||
<TextBlock Grid.Column="7" Classes="primary" Text="{DynamicResource Text.Bytes}" Foreground="{DynamicResource Brush.FG2}" Margin="2,0,0,0"/>
|
||||
</Grid>
|
||||
|
||||
<Border Grid.Row="1" Margin="0,12,0,0" Effect="drop-shadow(0 0 8 #A0000000)">
|
||||
<Border HorizontalAlignment="Center" Background="{DynamicResource Brush.Window}">
|
||||
<Border Grid.Row="1" Margin="0,12,0,0" HorizontalAlignment="Center" Effect="drop-shadow(0 0 8 #A0000000)">
|
||||
<Border Background="{DynamicResource Brush.Window}">
|
||||
<Border BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}" Margin="8">
|
||||
<v:ImageBlendControl Alpha="{Binding #ImageBlendSlider.Value}"
|
||||
OldImage="{Binding Old}"
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
<DataTemplate DataType="m:RevisionImageFile">
|
||||
<Grid RowDefinitions="*,Auto" Margin="0,8" VerticalAlignment="Center" HorizontalAlignment="Center">
|
||||
<Border Grid.Row="0" Effect="drop-shadow(0 0 8 #A0000000)">
|
||||
<Border Grid.Row="0" HorizontalAlignment="Center" Effect="drop-shadow(0 0 8 #A0000000)">
|
||||
<Border Background="{DynamicResource Brush.Window}">
|
||||
<Border BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}" Margin="8">
|
||||
<v:ImageView Image="{Binding Image}"/>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue