diff --git a/vips.go b/vips.go index f63c8a6..ba68cba 100644 --- a/vips.go +++ b/vips.go @@ -274,14 +274,15 @@ 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 } - C.g_object_unref(C.gpointer(image)) - image = outImage - return image, nil }