[gimp] Bug 759796 - Blend tool regression
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Bug 759796 - Blend tool regression
- Date: Sun, 17 Apr 2016 00:07:50 +0000 (UTC)
commit 5730278eeb97ee873103e773d519f76d4d1d51a7
Author: Michael Natterer <mitch gimp org>
Date: Sun Apr 17 01:06:08 2016 +0100
Bug 759796 - Blend tool regression
We must not dither the alpha channel if it is fully opaque or fully
transparent. 2.8 did the same but the dithering of these values was
apparently consumed be putting the result into 8 bit values.
app/operations/gimpoperationblend.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/app/operations/gimpoperationblend.c b/app/operations/gimpoperationblend.c
index 5dfff6d..2fc7a42 100644
--- a/app/operations/gimpoperationblend.c
+++ b/app/operations/gimpoperationblend.c
@@ -944,7 +944,11 @@ gradient_put_pixel (gint x,
r = color->r + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
g = color->g + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
b = color->b + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
- a = color->a + (gdouble) (i & 0xff) / 256.0 / 256.0;
+
+ if (color->a > 0.0 && color->a < 1.0)
+ a = color->a + (gdouble) (i & 0xff) / 256.0 / 256.0;
+ else
+ a = color->a;
*dest++ = MAX (r, 0.0);
*dest++ = MAX (g, 0.0);
@@ -1119,7 +1123,11 @@ gimp_operation_blend_process (GeglOperation *operation,
r = color.r + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
g = color.g + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
b = color.b + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
- a = color.a + (gdouble) (i & 0xff) / 256.0 / 256.0;
+
+ if (color.a > 0.0 && color.a < 1.0)
+ a = color.a + (gdouble) (i & 0xff) / 256.0 / 256.0;
+ else
+ a = color.a;
*dest++ = MAX (r, 0.0);
*dest++ = MAX (g, 0.0);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]