|
|
|
@ -244,11 +244,21 @@ vips_webpsave_bridge(VipsImage *in, void **buf, size_t *len, int strip, int qual
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
|
|
|
vips_is_16bit (VipsInterpretation interpretation) {
|
|
|
|
|
|
|
|
return interpretation == VIPS_INTERPRETATION_RGB16 || interpretation == VIPS_INTERPRETATION_GREY16;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
int
|
|
|
|
vips_flatten_background_brigde(VipsImage *in, VipsImage **out, double background[3]) {
|
|
|
|
vips_flatten_background_brigde(VipsImage *in, VipsImage **out, double background[3]) {
|
|
|
|
|
|
|
|
background[0] *= 256;
|
|
|
|
|
|
|
|
background[1] *= 256;
|
|
|
|
|
|
|
|
background[2] *= 256;
|
|
|
|
|
|
|
|
|
|
|
|
VipsArrayDouble *vipsBackground = vips_array_double_new(background, 3);
|
|
|
|
VipsArrayDouble *vipsBackground = vips_array_double_new(background, 3);
|
|
|
|
return vips_flatten(in, out,
|
|
|
|
return vips_flatten(in, out,
|
|
|
|
"background", vipsBackground,
|
|
|
|
"background", vipsBackground,
|
|
|
|
|
|
|
|
"max_alpha", vips_is_16bit(in->Type) ? 65535.0 : 255.0,
|
|
|
|
NULL
|
|
|
|
NULL
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|