From 3475bd62e07ab61b93e1a72472daa1c1dcd8a6f9 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Sat, 4 Nov 2006 03:12:36 +0000 Subject: [PATCH] - #39366, imagerotate does not use alpha with angles>45 --- ext/gd/libgd/gd.c | 12 ++++++++++++ ext/gd/tests/bug39366.phpt | 21 +++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 ext/gd/tests/bug39366.phpt diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index ff2b0596f5..43a45939af 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -2776,6 +2776,9 @@ gdImagePtr gdImageRotate90 (gdImagePtr src, int ignoretransparent) dst->transparent = src->transparent; if (dst != NULL) { + int old_blendmode = dst->alphaBlendingFlag; + dst->alphaBlendingFlag = 0; + gdImagePaletteCopy (dst, src); for (uY = 0; uYsy; uY++) { @@ -2795,6 +2798,7 @@ gdImagePtr gdImageRotate90 (gdImagePtr src, int ignoretransparent) } } } + dst->alphaBlendingFlag = old_blendmode; } return dst; @@ -2818,6 +2822,9 @@ gdImagePtr gdImageRotate180 (gdImagePtr src, int ignoretransparent) dst->transparent = src->transparent; if (dst != NULL) { + int old_blendmode = dst->alphaBlendingFlag; + dst->alphaBlendingFlag = 0; + gdImagePaletteCopy (dst, src); for (uY = 0; uYsy; uY++) { @@ -2838,6 +2845,7 @@ gdImagePtr gdImageRotate180 (gdImagePtr src, int ignoretransparent) } } } + dst->alphaBlendingFlag = old_blendmode; } return dst; @@ -2861,6 +2869,9 @@ gdImagePtr gdImageRotate270 (gdImagePtr src, int ignoretransparent) dst->transparent = src->transparent; if (dst != NULL) { + int old_blendmode = dst->alphaBlendingFlag; + dst->alphaBlendingFlag = 0; + gdImagePaletteCopy (dst, src); for (uY = 0; uYsy; uY++) { @@ -2881,6 +2892,7 @@ gdImagePtr gdImageRotate270 (gdImagePtr src, int ignoretransparent) } } } + dst->alphaBlendingFlag = old_blendmode; } return dst; diff --git a/ext/gd/tests/bug39366.phpt b/ext/gd/tests/bug39366.phpt new file mode 100644 index 0000000000..212012a1bd --- /dev/null +++ b/ext/gd/tests/bug39366.phpt @@ -0,0 +1,21 @@ +--TEST-- +Bug #39366 (imagerotate does not respect alpha with angles>45) +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +32FF0000 -- 2.50.1