fix vipsthumbnail crop with very non-square images

thanks Alessandro
This commit is contained in:
John Cupitt 2014-03-18 19:47:22 +00:00
parent 62307d18ef
commit 88769d0e74
1 changed files with 8 additions and 2 deletions

View File

@ -152,13 +152,19 @@ calculate_shrink( int width, int height, double *residual )
int shrink = floor( factor2 );
if( residual ) {
/* Width after int shrink.
/* Size after int shrink. We have to try with both axes since
* if they are very different sizes we'll see different
* rounding errors.
*/
int iwidth = width / shrink;
int iheight = height / shrink;
/* Therefore residual scale factor is.
*/
*residual = (width / factor) / iwidth;
double hresidual = (width / factor) / iwidth;
double vresidual = (height / factor) / iheight;
*residual = VIPS_MAX( hresidual, vresidual );
}
return( shrink );