1 #include "PixRaster.h"
2
3 NAMESPACE_UPP
4
5 /////////////////////////////////////////////////////////////////////////////////////////////////////////////
6 // toplevel scale function
Scale(double scalex,double scaley)7 Pix Pix::Scale(double scalex, double scaley)
8 {
9 if(IsEmpty())
10 return Pix();
11 PIX *dPix = pixScale(pix, (l_float32)scalex, (l_float32)scaley);
12 if(!dPix)
13 return Pix();
14 return Pix(&dPix);
15 }
16
Fit(int width,int height,bool keepRatio)17 Pix Pix::Fit(int width, int height, bool keepRatio)
18 {
19 // gets original sizes
20 int w = GetWidth();
21 int h = GetHeight();
22
23 // gets scale factor in both directions
24 double xScale = (double)width / (double)w;
25 double yScale = (double)height / (double)h;
26 if(keepRatio)
27 {
28 xScale = min(xScale, yScale);
29 yScale = xScale;
30 }
31 return Scale(xScale, yScale);
32 }
33
34 END_UPP_NAMESPACE
35