@@ -11,15 +11,17 @@ namespace SelectSight;
1111
1212public static class ThumbnailUtils
1313{
14- private const int TargetThumbnailSize = 300 ; // Define target size once
15-
1614 public static async Task < Bitmap ? > GenerateBitmap ( Stream fileStream )
1715 {
16+ var thumbnailSize = Program . AppSettings . ThumbnailSize ;
17+ // First check app settings to see if we should read EXIF data
18+ if ( ! Program . AppSettings . ReadExif ) return Bitmap . DecodeToWidth ( fileStream , thumbnailSize ) ;
19+
1820 var skEncodedOrigin = GetSkiaEncodedOrigin ( fileStream ) ;
1921 fileStream . Position = 0 ; // Reset stream position to the beginning for decoding
2022
2123 // If no adjustment is needed, decode directly to the target size
22- if ( skEncodedOrigin == SKEncodedOrigin . Default ) return Bitmap . DecodeToWidth ( fileStream , TargetThumbnailSize ) ;
24+ if ( skEncodedOrigin == SKEncodedOrigin . Default ) return Bitmap . DecodeToWidth ( fileStream , thumbnailSize ) ;
2325
2426 // Needs adjustment for orientation
2527 using var originalDecodedBitmap = SKBitmap . Decode ( fileStream ) ;
@@ -47,7 +49,7 @@ public static class ThumbnailUtils
4749
4850 // 3. Resize the finalSkBitmap (which is now correctly oriented)
4951 // Calculate target dimensions maintaining aspect ratio
50- var scale = Math . Min ( ( float ) TargetThumbnailSize / orientedBitmap . Width , ( float ) TargetThumbnailSize / orientedBitmap . Height ) ;
52+ var scale = Math . Min ( ( float ) thumbnailSize / orientedBitmap . Width , ( float ) thumbnailSize / orientedBitmap . Height ) ;
5153 var finalScaledWidth = ( int ) ( orientedBitmap . Width * scale ) ;
5254 var finalScaledHeight = ( int ) ( orientedBitmap . Height * scale ) ;
5355
0 commit comments