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