]> granicus.if.org Git - php/commitdiff
fix #64898imagerotate is broken with bilinear interpolation
authorPierre Joye <pierre.php@gmail.com>
Mon, 27 May 2013 07:21:41 +0000 (09:21 +0200)
committerPierre Joye <pierre.php@gmail.com>
Mon, 27 May 2013 07:21:41 +0000 (09:21 +0200)
ext/gd/libgd/gd_interpolation.c

index 6c5549eba6bf2c17ee70183a89f451397d3175d3..bcd76e97078ab195914a0716e8334735c283e8cd 100644 (file)
@@ -1830,18 +1830,18 @@ gdImagePtr gdImageRotateBilinear(gdImagePtr src, const float degrees, const int
                                const gdFixed f_w4 = gd_mulfx(f_f, f_g);
 
                                if (n < src_w - 1) {
-                                       src_offset_x = m + 1;
-                                       src_offset_y = n;
+                                       src_offset_x = n + 1;
+                                       src_offset_y = m;
                                }
 
                                if (m < src_h-1) {
-                                       src_offset_x = m;
-                                       src_offset_y = n + 1;
+                                       src_offset_x = n;
+                                       src_offset_y = m + 1;
                                }
 
                                if (!((n >= src_w-1) || (m >= src_h-1))) {
-                                       src_offset_x = m + 1;
-                                       src_offset_y = n + 1;
+                                       src_offset_x = n + 1;
+                                       src_offset_y = m + 1;
                                }
                                {
                                        const int pixel1 = src->tpixels[src_offset_y][src_offset_x];