enable vipsAffine to use Extend option value and send it to lipvips

this will change the default from the one that lipvips use which is `background` to the ones that bimg use which is  `C.VIPS_EXTEND_BLACK`
but because the lip add extra 1 or .5 pix the background is considered black anyway so this will not affect anyone
but will fix the bug of having border on the right and bottom of some images

[ch15924]
This commit is contained in:
Eslam Mahmoud 2019-11-15 10:08:31 -06:00 committed by Matt Drollette
parent daafbf6d97
commit cd2783eff0
3 changed files with 9 additions and 5 deletions

View file

@ -595,7 +595,11 @@ func vipsEmbed(input *C.VipsImage, left, top, width, height int, extend Extend,
return image, nil
}
func vipsAffine(input *C.VipsImage, residualx, residualy float64, i Interpolator) (*C.VipsImage, error) {
func vipsAffine(input *C.VipsImage, residualx, residualy float64, i Interpolator, extend Extend) (*C.VipsImage, error) {
if extend > 5 {
extend = ExtendBackground
}
var image *C.VipsImage
cstring := C.CString(i.String())
interpolator := C.vips_interpolate_new(cstring)
@ -604,7 +608,7 @@ func vipsAffine(input *C.VipsImage, residualx, residualy float64, i Interpolator
defer C.g_object_unref(C.gpointer(input))
defer C.g_object_unref(C.gpointer(interpolator))
err := C.vips_affine_interpolator(input, &image, C.double(residualx), 0, 0, C.double(residualy), interpolator)
err := C.vips_affine_interpolator(input, &image, C.double(residualx), 0, 0, C.double(residualy), interpolator, C.int(extend))
if err != 0 {
return nil, catchVipsError()
}