[gimp/gimp-2-8] Bug 673773: Colour of image changes with zooming



commit 0008be84840284e28d95d0975b0137d0ac9ce407
Author: Massimo Valentini <mvalentini src gnome org>
Date:   Thu May 24 19:42:42 2012 +0200

    Bug 673773: Colour of image changes with zooming
    
    transform a right shift by 8 in the correct
    division by 255 and rounds to the nearset

 app/display/gimpdisplayshell-render.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/app/display/gimpdisplayshell-render.c b/app/display/gimpdisplayshell-render.c
index f1f8334..1f41541 100644
--- a/app/display/gimpdisplayshell-render.c
+++ b/app/display/gimpdisplayshell-render.c
@@ -516,7 +516,7 @@ box_filter_premult (const guint    left_weight,
 
           for (i = 0; i < ALPHA; i++)
             {
-              dest[i] = ((center_weight * (factors[0] * src[1][i] +
+              dest[i] =  (center_weight * (factors[0] * src[1][i] +
                                            factors[1] * src[4][i] +
                                            factors[2] * src[7][i]) +
 
@@ -526,7 +526,7 @@ box_filter_premult (const guint    left_weight,
 
                           left_weight   * (factors[6] * src[0][i] +
                                            factors[7] * src[3][i] +
-                                           factors[8] * src[6][i])) / sum) >> 8;
+                                           factors[8] * src[6][i]) + ((255 * sum) >> 1)) / (255 * sum);
             }
 
           dest[ALPHA] = (a + (sum >> 1)) / sum;
@@ -563,7 +563,7 @@ box_filter_premult (const guint    left_weight,
 
           for (i = 0; i < ALPHA; i++)
             {
-              dest[i] = ((center_weight * (factors[0] * src[1][i] +
+              dest[i] =  (center_weight * (factors[0] * src[1][i] +
                                            factors[1] * src[4][i] +
                                            factors[2] * src[7][i]) +
 
@@ -573,7 +573,7 @@ box_filter_premult (const guint    left_weight,
 
                           left_weight   * (factors[6] * src[0][i] +
                                            factors[7] * src[3][i] +
-                                           factors[8] * src[6][i])) / sum) >> 8;
+                                           factors[8] * src[6][i]) + ((255 * sum) >> 1)) / (sum * 255);
             }
 
           dest[ALPHA] = (a + (sum >> 1)) / sum;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]