Use vips reduce when downscaling

This commit is contained in:
Adam Scarr 2017-07-04 11:33:13 +10:00
parent 878125c410
commit dc3286965b
3 changed files with 22 additions and 1 deletions

View file

@ -198,7 +198,11 @@ func transformImage(image *C.VipsImage, o Options, shrink int, residual float64)
}
if o.Force || residual != 0 {
image, err = vipsAffine(image, residualx, residualy, o.Interpolator)
if residualx < 1 && residualy < 1 {
image, err = vipsReduce(image, 1/residualx, 1/residualy)
} else {
image, err = vipsAffine(image, residualx, residualy, o.Interpolator)
}
if err != nil {
return nil, err
}