Skip to content

Commit 69792b3

Browse files
committed
refactor: do not upscale images
Signed-off-by: leo <[email protected]>
1 parent 1b1dc2f commit 69792b3

File tree

3 files changed

+12
-26
lines changed

3 files changed

+12
-26
lines changed

src/Views/ImageContainer.cs

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -86,26 +86,12 @@ protected override Size MeasureOverride(Size availableSize)
8686
var imageSize = image.Size;
8787
var scaleW = availableSize.Width / imageSize.Width;
8888
var scaleH = availableSize.Height / imageSize.Height;
89-
var scale = Math.Min(scaleW, scaleH);
89+
var scale = Math.Min(1, Math.Min(scaleW, scaleH));
9090
return new Size(scale * imageSize.Width, scale * imageSize.Height);
9191
}
9292

9393
return availableSize;
9494
}
95-
96-
protected override Size ArrangeOverride(Size finalSize)
97-
{
98-
if (Image is { } image)
99-
{
100-
var imageSize = image.Size;
101-
var scaleW = finalSize.Width / imageSize.Width;
102-
var scaleH = finalSize.Height / imageSize.Height;
103-
var scale = Math.Min(scaleW, scaleH);
104-
return new Size(scale * imageSize.Width, scale * imageSize.Height);
105-
}
106-
107-
return base.ArrangeOverride(finalSize);
108-
}
10995
}
11096

11197
public class ImageSwipeControl : ImageContainer
@@ -243,7 +229,7 @@ private Size GetDesiredSize(Size img, Size available)
243229
{
244230
var sw = available.Width / img.Width;
245231
var sh = available.Height / img.Height;
246-
var scale = Math.Min(sw, sh);
232+
var scale = Math.Min(1, Math.Min(sw, sh));
247233
return new Size(scale * img.Width, scale * img.Height);
248234
}
249235

@@ -348,7 +334,7 @@ private Size GetDesiredSize(Size img, Size available)
348334
{
349335
var sw = available.Width / img.Width;
350336
var sh = available.Height / img.Height;
351-
var scale = Math.Min(sw, sh);
337+
var scale = Math.Min(1, Math.Min(sw, sh));
352338
return new Size(scale * img.Width, scale * img.Height);
353339
}
354340

src/Views/ImageDiffView.axaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
<TextBlock Classes="primary" Text="{DynamicResource Text.Bytes}" Foreground="{DynamicResource Brush.FG2}" Margin="2,0,0,0"/>
3333
</StackPanel>
3434

35-
<Border Grid.Row="1" Margin="0,12,0,0" Effect="drop-shadow(0 0 8 #A0000000)">
36-
<Border Background="{DynamicResource Brush.Popup}" HorizontalAlignment="Center" Padding="8">
35+
<Border Grid.Row="1" Margin="0,12,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" Effect="drop-shadow(0 0 8 #A0000000)">
36+
<Border Background="{DynamicResource Brush.Popup}" Padding="8">
3737
<Border BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}">
3838
<v:ImageView Image="{Binding Old}"/>
3939
</Border>
@@ -52,8 +52,8 @@
5252
<TextBlock Classes="primary" Text="{DynamicResource Text.Bytes}" Foreground="{DynamicResource Brush.FG2}" Margin="2,0,0,0"/>
5353
</StackPanel>
5454

55-
<Border Grid.Row="1" Margin="0,12,0,0" Effect="drop-shadow(0 0 8 #A0000000)">
56-
<Border Background="{DynamicResource Brush.Popup}" HorizontalAlignment="Center" Padding="8">
55+
<Border Grid.Row="1" Margin="0,12,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" Effect="drop-shadow(0 0 8 #A0000000)">
56+
<Border Background="{DynamicResource Brush.Popup}" Padding="8">
5757
<Border BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}">
5858
<v:ImageView Image="{Binding New}"/>
5959
</Border>
@@ -87,8 +87,8 @@
8787
<TextBlock Grid.Column="7" Classes="primary" Text="{DynamicResource Text.Bytes}" Foreground="{DynamicResource Brush.FG2}" Margin="2,0,0,0"/>
8888
</Grid>
8989

90-
<Border Grid.Row="1" Margin="0,12,0,0" Effect="drop-shadow(0 0 8 #A0000000)">
91-
<Border HorizontalAlignment="Center" Background="{DynamicResource Brush.Window}">
90+
<Border Grid.Row="1" Margin="0,12,0,0" HorizontalAlignment="Center" Effect="drop-shadow(0 0 8 #A0000000)">
91+
<Border Background="{DynamicResource Brush.Window}">
9292
<Border BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}" Margin="8">
9393
<v:ImageSwipeControl OldImage="{Binding Old}"
9494
NewImage="{Binding New}"
@@ -123,8 +123,8 @@
123123
<TextBlock Grid.Column="7" Classes="primary" Text="{DynamicResource Text.Bytes}" Foreground="{DynamicResource Brush.FG2}" Margin="2,0,0,0"/>
124124
</Grid>
125125

126-
<Border Grid.Row="1" Margin="0,12,0,0" Effect="drop-shadow(0 0 8 #A0000000)">
127-
<Border HorizontalAlignment="Center" Background="{DynamicResource Brush.Window}">
126+
<Border Grid.Row="1" Margin="0,12,0,0" HorizontalAlignment="Center" Effect="drop-shadow(0 0 8 #A0000000)">
127+
<Border Background="{DynamicResource Brush.Window}">
128128
<Border BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}" Margin="8">
129129
<v:ImageBlendControl Alpha="{Binding #ImageBlendSlider.Value}"
130130
OldImage="{Binding Old}"

src/Views/RevisionFileContentViewer.axaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
<DataTemplate DataType="m:RevisionImageFile">
3131
<Grid RowDefinitions="*,Auto" Margin="0,8" VerticalAlignment="Center" HorizontalAlignment="Center">
32-
<Border Grid.Row="0" Effect="drop-shadow(0 0 8 #A0000000)">
32+
<Border Grid.Row="0" HorizontalAlignment="Center" Effect="drop-shadow(0 0 8 #A0000000)">
3333
<Border Background="{DynamicResource Brush.Window}">
3434
<Border BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}" Margin="8">
3535
<v:ImageView Image="{Binding Image}"/>

0 commit comments

Comments
 (0)