diff options
author | Christoph M. Becker <cmb@php.net> | 2015-07-13 22:30:43 +0200 |
---|---|---|
committer | Christoph M. Becker <cmb@php.net> | 2015-07-13 22:30:43 +0200 |
commit | 20eaa186fb4d5b901339fe834ef8ea92e99208cd (patch) | |
tree | 37b808ebf51cad822c75d06e7d997613f3593df8 | |
parent | 961fb9b569d09ffec69b6fc2924ec7e0066c469f (diff) | |
parent | 140e80acc03f3df886bcdefb6ebb7a92b2f41e05 (diff) | |
download | php-git-20eaa186fb4d5b901339fe834ef8ea92e99208cd.tar.gz |
Merge branch 'PHP-5.6'
* PHP-5.6:
updated NEWS
Fix #66882: imagerotate by -90 degrees truncates image by 1px
-rw-r--r-- | ext/gd/libgd/gd_interpolation.c | 7 | ||||
-rw-r--r-- | ext/gd/tests/bug66882.phpt | 14 |
2 files changed, 19 insertions, 2 deletions
diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index 24c7dc5e00..f70169dddc 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -2178,10 +2178,13 @@ gdImagePtr gdImageRotateInterpolated(const gdImagePtr src, const float angle, in /* no interpolation needed here */ switch (angle_rounded) { - case 9000: + case -27000: + case 9000: return gdImageRotate90(src, 0); - case 18000: + case -18000: + case 18000: return gdImageRotate180(src, 0); + case -9000: case 27000: return gdImageRotate270(src, 0); } diff --git a/ext/gd/tests/bug66882.phpt b/ext/gd/tests/bug66882.phpt new file mode 100644 index 0000000000..6dfbdfe06d --- /dev/null +++ b/ext/gd/tests/bug66882.phpt @@ -0,0 +1,14 @@ +--TEST-- +Bug #66882 (imagerotate by -90 degrees truncates image by 1px) +--SKIPIF-- +<?php +if (!extension_loaded('gd')) die('skip gd extension not available'); +?> +--FILE-- +<?php +$im = imagerotate(imagecreate(10, 10), -90, 0); +var_dump(imagesy($im), imagesx($im)); +?> +--EXPECT-- +int(10) +int(10) |