Check if there is an alpha channel before flattening

This commit is contained in:
Henry 2016-05-14 01:32:59 +00:00
parent fc9b23852e
commit 7170832f93

11
vips.go
View file

@ -274,13 +274,14 @@ func vipsFlattenBackground(image *C.VipsImage, background Color) (*C.VipsImage,
C.double(background.B),
}
err := C.vips_flatten_background_brigde(image, &outImage, (*C.double)(&backgroundC[0]))
if int(err) != 0 {
return nil, catchVipsError()
}
if vipsHasAlpha(image) {
err := C.vips_flatten_background_brigde(image, &outImage, (*C.double)(&backgroundC[0]))
if int(err) != 0 {
return nil, catchVipsError()
}
C.g_object_unref(C.gpointer(image))
image = outImage
}
return image, nil
}