diff --git a/SightKeeper.Avalonia/Annotation/ScreenshotViewModel.cs b/SightKeeper.Avalonia/Annotation/ScreenshotViewModel.cs
index 4a8c18a7..18253352 100644
--- a/SightKeeper.Avalonia/Annotation/ScreenshotViewModel.cs
+++ b/SightKeeper.Avalonia/Annotation/ScreenshotViewModel.cs
@@ -43,7 +43,7 @@ private unsafe WriteableBitmap LoadImage()
return bitmap;
}
- private unsafe WriteableBitmap LoadImage(int maximumLargestDimension)
+ internal unsafe WriteableBitmap LoadImage(int maximumLargestDimension)
{
PixelSize size = ComputeThumbnailSize(maximumLargestDimension);
WriteableBitmap bitmap = _bitmapPool.Rent(size, PixelFormat.Rgb32);
diff --git a/SightKeeper.Avalonia/Annotation/Screenshots.axaml b/SightKeeper.Avalonia/Annotation/Screenshots.axaml
index 2629342e..b923e90e 100644
--- a/SightKeeper.Avalonia/Annotation/Screenshots.axaml
+++ b/SightKeeper.Avalonia/Annotation/Screenshots.axaml
@@ -4,6 +4,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:SightKeeper.Avalonia.Annotation"
xmlns:behaviors="clr-namespace:SightKeeper.Avalonia.Behaviors"
+ xmlns:instance="clr-namespace:SightKeeper.Avalonia"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="SightKeeper.Avalonia.Annotation.Screenshots"
x:DataType="local:ScreenshotsViewModel">
@@ -18,13 +19,20 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SightKeeper.Avalonia/ScreenshotToScaledBitmapConverter.cs b/SightKeeper.Avalonia/ScreenshotToScaledBitmapConverter.cs
new file mode 100644
index 00000000..e85eee96
--- /dev/null
+++ b/SightKeeper.Avalonia/ScreenshotToScaledBitmapConverter.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using Avalonia;
+using Avalonia.Data.Converters;
+using SightKeeper.Avalonia.Annotation;
+
+namespace SightKeeper.Avalonia;
+
+internal sealed class ScreenshotToScaledBitmapConverter : IMultiValueConverter
+{
+ private const int SizeStep = 20;
+ private const int MinimumSize = 20;
+
+ public static ScreenshotToScaledBitmapConverter Instance { get; } = new();
+
+ public object Convert(IList