Merge pull request #104 from nvartolomei/png-16bit-alpha-background

fixes #103 flattening with background for 16bit transparent pngs
master
Tomás Aparicio 9 years ago committed by GitHub
commit 9c9b1c3e82

@ -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
); );
} }

Loading…
Cancel
Save