From 985978057065f4011fe8c5a507b6374e92352561 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Sat, 23 Jul 2005 16:41:38 +0000 Subject: [PATCH] - fix #33794 imagerotate rotates only CCW introduced by transparent color patch --- ext/gd/libgd/gd.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index b799abb042..29f18a0236 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -2797,10 +2797,11 @@ gdImagePtr gdImageRotate180 (gdImagePtr src, int ignoretransparent) a = gdImageAlpha(src,c); c = gdTrueColorAlpha(r, g, b, a); } + if (ignoretransparent && c == dst->transparent) { - gdImageSetPixel(dst, uY, (dst->sy - uX - 1), dst->transparent); + gdImageSetPixel(dst, (dst->sx - uX - 1), (dst->sy - uY - 1), dst->transparent); } else { - gdImageSetPixel(dst, uY, (dst->sy - uX - 1), c); + gdImageSetPixel(dst, (dst->sx - uX - 1), (dst->sy - uY - 1), c); } } } @@ -2839,10 +2840,11 @@ gdImagePtr gdImageRotate270 (gdImagePtr src, int ignoretransparent) a = gdImageAlpha(src,c); c = gdTrueColorAlpha(r, g, b, a); } + if (ignoretransparent && c == dst->transparent) { - gdImageSetPixel(dst, uY, (dst->sy - uX - 1), dst->transparent); + gdImageSetPixel(dst, (dst->sx - uY - 1), uX, dst->transparent); } else { - gdImageSetPixel(dst, uY, (dst->sy - uX - 1), c); + gdImageSetPixel(dst, (dst->sx - uY - 1), uX, c); } } } -- 2.40.0