@@ -346,36 +346,24 @@ private async void Render(object sender, SkiaSharp.Views.Desktop.SKPaintSurfaceE
346346 canvas . DrawImage ( SKImages [ i ] , 0 , 0 , paint ) ;
347347 if ( overviewImage != null )
348348 {
349+ var ims = BitmapToSKImage ( overviewImage . GetImageRGB ( ) ) ;
350+ paint . Style = SKPaintStyle . Fill ;
349351 // Draw the overview image at the top-left corner
350- canvas . DrawImage ( BitmapToSKImage ( overviewImage ) , 0 , 0 , paint ) ;
352+ canvas . DrawImage ( ims , 0 , 0 , paint ) ;
351353 }
352354 // Set the paint style to stroke for drawing rectangles
353355 paint . Style = SKPaintStyle . Stroke ;
354356 // Draw the gray rectangle representing the overview's entire visible region
355357 paint . Color = SKColors . Gray ;
356358 canvas . DrawRect ( overview . X , overview . Y , overview . Width , overview . Height , paint ) ;
357359 paint . Color = SKColors . Red ;
358- if ( ! openSlide )
359- {
360- double dsx = _slideBase . Schema . Resolutions [ Level ] . UnitsPerPixel / Resolution ;
361- Resolution rs = SelectedImage . Resolutions [ Level ] ;
362- double dx = ( ( double ) PyramidalOrigin . X / ( rs . SizeX * dsx ) ) * overview . Width ;
363- double dy = ( ( double ) PyramidalOrigin . Y / ( rs . SizeY * dsx ) ) * overview . Height ;
364- double dw = ( ( double ) viewStack . AllocatedWidth / ( rs . SizeX ) ) * overview . Width * dsx ;
365- double dh = ( ( double ) viewStack . AllocatedHeight / ( rs . SizeY ) ) * overview . Height * dsx ;
366- canvas . DrawRect ( ( int ) dx , ( int ) dy , ( int ) dw , ( int ) dh , paint ) ;
367- }
368- else
369- {
370- double dsx = _openSlideBase . Schema . Resolutions [ Level ] . UnitsPerPixel / Resolution ;
371- var rs = _openSlideBase . Schema . Resolutions . Last ( ) ;
372- Resolution rss = SelectedImage . Resolutions [ Level ] ;
373- double dx = ( ( double ) PyramidalOrigin . X / ( rss . SizeX * dsx ) ) * overview . Width ;
374- double dy = ( ( double ) PyramidalOrigin . Y / ( rss . SizeY * dsx ) ) * overview . Height ;
375- double dw = ( ( double ) viewStack . AllocatedWidth / ( rss . SizeX * dsx ) ) * overview . Width ;
376- double dh = ( ( double ) viewStack . AllocatedHeight / ( rss . SizeY * dsx ) ) * overview . Height ;
377- canvas . DrawRect ( ( int ) dx , ( int ) dy , ( int ) dw , ( int ) dh , paint ) ;
378- }
360+ double dsx = _slideBase . Schema . Resolutions [ Level ] . UnitsPerPixel / Resolution ;
361+ Resolution rs = SelectedImage . Resolutions [ Level ] ;
362+ double dx = ( ( double ) PyramidalOrigin . X / ( rs . SizeX * dsx ) ) * overview . Width ;
363+ double dy = ( ( double ) PyramidalOrigin . Y / ( rs . SizeY * dsx ) ) * overview . Height ;
364+ double dw = ( ( double ) viewStack . AllocatedWidth / ( rs . SizeX ) ) * overview . Width * dsx ;
365+ double dh = ( ( double ) viewStack . AllocatedHeight / ( rs . SizeY ) ) * overview . Height * dsx ;
366+ canvas . DrawRect ( ( int ) dx , ( int ) dy , ( int ) dw , ( int ) dh , paint ) ;
379367 }
380368 }
381369 catch ( Exception ex )
@@ -832,7 +820,6 @@ private void InitPreview()
832820 Bitmap bm = BioImage . GetTile ( SelectedImage , SelectedImage . GetFrameIndex ( GetCoordinate ( ) . Z , GetCoordinate ( ) . C , GetCoordinate ( ) . T ) , MacroResolution . Value - 2 , 0 , 0 , SelectedImage . Resolutions [ MacroResolution . Value - 2 ] . SizeX , SelectedImage . Resolutions [ MacroResolution . Value - 2 ] . SizeY ) ;
833821 ResizeBilinear re = new ResizeBilinear ( overview . Width , overview . Height ) ;
834822 Bitmap bmp = re . Apply ( bm . GetImageRGB ( ) ) ;
835- bmp . SwitchRedBlue ( ) ;
836823 overviewImage = bmp ;
837824 }
838825 else
@@ -851,7 +838,6 @@ private void InitPreview()
851838 Bitmap bm = BioImage . GetTile ( SelectedImage , SelectedImage . GetFrameIndex ( GetCoordinate ( ) . Z , GetCoordinate ( ) . C , GetCoordinate ( ) . T ) , lev , 0 , 0 , SelectedImage . Resolutions [ lev ] . SizeX , SelectedImage . Resolutions [ lev ] . SizeY ) ;
852839 ResizeBilinear re = new ResizeBilinear ( overview . Width , overview . Height ) ;
853840 Bitmap bmp = re . Apply ( bm . GetImageRGB ( ) ) ;
854- bmp . SwitchRedBlue ( ) ;
855841 overviewImage = bmp ;
856842 }
857843 ShowOverview = true ;
0 commit comments