33using System ;
44using System . Collections . Generic ;
55using System . Linq ;
6- using Range = OpenCvSharp . Range ;
76
87namespace OpenSlideSharp . BruTile
98{
@@ -53,6 +52,7 @@ public static unsafe byte[] GetJpeg(byte[] bgraBytes, int bytesPerPixel, int byt
5352 var scalar = new Scalar ( ( int ) ( background >> 24 & 0xFF ) , ( int ) ( background >> 16 & 0xFF ) , ( int ) ( background >> 8 & 0xFF ) , ( int ) ( background & 0xFF ) ) ;
5453 using ( var dst = new Mat ( dstHeight , dstWidth , pixel , scalar ) )
5554 {
55+ src . SaveImage ( $ "{ Guid . NewGuid ( ) } .jpg") ;
5656 DrawImage ( src , dst ) ;
5757 return dst . ToBytes ( ".jpg" , prms ) ;
5858 }
@@ -71,11 +71,21 @@ private static void DrawImage(Mat src, Mat dst)
7171 var fx = ( double ) dst . Width / src . Width ;
7272 var fy = ( double ) dst . Height / src . Height ;
7373 var fmin = Math . Min ( fx , fy ) ;
74- using ( var srcResized = src . Resize ( new Size ( src . Width * fmin , src . Height * fmin ) ) )
74+ if ( fmin < 1 ) // src > dst
7575 {
76- using ( var sub = new Mat ( dst , new Rect ( 0 , 0 , srcResized . Width , srcResized . Height ) ) )
76+ using ( var srcResized = src . Resize ( new Size ( src . Width * fmin , src . Height * fmin ) ) )
7777 {
78- srcResized . CopyTo ( sub ) ;
78+ using ( var sub = new Mat ( dst , new Rect ( 0 , 0 , srcResized . Width , srcResized . Height ) ) )
79+ {
80+ srcResized . CopyTo ( sub ) ;
81+ }
82+ }
83+ }
84+ else // src <= dst
85+ {
86+ using ( var sub = new Mat ( dst , new Rect ( 0 , 0 , src . Width , src . Height ) ) )
87+ {
88+ src . CopyTo ( sub ) ;
7989 }
8090 }
8191 }
0 commit comments