From: Pierre Joye Date: Sat, 23 Jul 2005 16:41:38 +0000 (+0000) Subject: - fix #33794 imagerotate rotates only CCW X-Git-Tag: RELEASE_0_9~30 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=985978057065f4011fe8c5a507b6374e92352561;p=php - fix #33794 imagerotate rotates only CCW introduced by transparent color patch --- 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); } } }