pajoye Wed Jul 9 20:09:24 2003 EDT Modified files: /php-src/ext/gd/libgd gd.c Log: - wrong patch applied for #23792, fixed Index: php-src/ext/gd/libgd/gd.c diff -u php-src/ext/gd/libgd/gd.c:1.59 php-src/ext/gd/libgd/gd.c:1.60 --- php-src/ext/gd/libgd/gd.c:1.59 Wed Jul 9 06:36:07 2003 +++ php-src/ext/gd/libgd/gd.c Wed Jul 9 20:09:23 2003 @@ -2541,7 +2541,7 @@ gdImagePtr gdImageRotate90 (gdImagePtr src) { int uY, uX; - int c; + int c,r,g,b,a; gdImagePtr dst; typedef int (*FuncPtr)(gdImagePtr, int, int); FuncPtr f; @@ -2551,6 +2551,7 @@ } else { f = gdImageGetPixel; } + dst = gdImageCreateTrueColor(src->sy, src->sx); if (dst != NULL) { gdImagePaletteCopy (dst, src); @@ -2558,6 +2559,13 @@ for (uY = 0; uY<src->sy; uY++) { for (uX = 0; uX<src->sx; uX++) { c = f (src, uX, uY); + if (!src->trueColor) { + r = gdImageRed(src,c); + g = gdImageGreen(src,c); + b = gdImageBlue(src,c); + a = gdImageAlpha(src,c); + c = gdTrueColorAlpha(r, g, b, a); + } gdImageSetPixel(dst, uY, (dst->sy - uX - 1), c); } } @@ -2570,18 +2578,17 @@ gdImagePtr gdImageRotate180 (gdImagePtr src) { int uY, uX; - int c; + int c,r,g,b,a; gdImagePtr dst; typedef int (*FuncPtr)(gdImagePtr, int, int); FuncPtr f; if (src->trueColor) { - dst = gdImageCreateTrueColor ( src->sx,src->sy); f = gdImageGetTrueColorPixel; } else { - dst = gdImageCreate (src->sx, src->sy); f = gdImageGetPixel; } + dst = gdImageCreateTrueColor(src->sx, src->sy); if (dst != NULL) { gdImagePaletteCopy (dst, src); @@ -2589,6 +2596,13 @@ for (uY = 0; uY<src->sy; uY++) { for (uX = 0; uX<src->sx; uX++) { c = f (src, uX, uY); + if (!src->trueColor) { + r = gdImageRed(src,c); + g = gdImageGreen(src,c); + b = gdImageBlue(src,c); + a = gdImageAlpha(src,c); + c = gdTrueColorAlpha(r, g, b, a); + } gdImageSetPixel(dst, (dst->sx - uX - 1), (dst->sy - uY - 1), c); } } @@ -2601,18 +2615,17 @@ gdImagePtr gdImageRotate270 ( gdImagePtr src ) { int uY, uX; - int c; + int c,r,g,b,a; gdImagePtr dst; typedef int (*FuncPtr)(gdImagePtr, int, int); FuncPtr f; if (src->trueColor) { - dst = gdImageCreateTrueColor (src->sy, src->sx); f = gdImageGetTrueColorPixel; } else { - dst = gdImageCreate (src->sy, src->sx); f = gdImageGetPixel; } + dst = gdImageCreateTrueColor (src->sy, src->sx); if (dst != NULL) { gdImagePaletteCopy (dst, src); @@ -2620,6 +2633,13 @@ for (uY = 0; uY<src->sy; uY++) { for (uX = 0; uX<src->sx; uX++) { c = f (src, uX, uY); + if (!src->trueColor) { + r = gdImageRed(src,c); + g = gdImageGreen(src,c); + b = gdImageBlue(src,c); + a = gdImageAlpha(src,c); + c = gdTrueColorAlpha(r, g, b, a); + } gdImageSetPixel(dst, (dst->sx - uY - 1), uX, c); } } @@ -2648,13 +2668,12 @@ /* 1st shear */ if (src->trueColor) { - dst1 = gdImageCreateTrueColor (newx, newy); f = gdImageGetTrueColorPixel; } else { - dst1 = gdImageCreate (newx, newy); f = gdImageGetPixel; } + dst1 = gdImageCreateTrueColor(newx, newy); /******* Perform 1st shear (horizontal) ******/ if (dst1 == NULL) { return NULL; @@ -2761,15 +2780,9 @@ return NULL; } - if (!gdImageTrueColor(src) && clrBack>=gdImageColorsTotal(src)) { - return NULL; - } - - clrBackR = gdImageRed(src, clrBack); - clrBackG = gdImageGreen(src, clrBack); - clrBackB = gdImageBlue(src, clrBack); - clrBackA = gdImageAlpha(src, clrBack); - clrBack = gdIlmageColorAllocateAlpha(pMidImg, clrBackR, clrBackG, clrBackB, clrBackA); + if (!gdImageTrueColor(src) && clrBack>=gdImageColorsTotal(src)) { + return NULL; + } while (dAngle >= 360.0) { dAngle -= 360.0; @@ -2805,7 +2818,6 @@ if (pMidImg == NULL) { return NULL; } - rotatedImg = gdImageRotate45 (pMidImg, dAngle, clrBack); gdImageDestroy(pMidImg);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php