pajoye Wed Jul 9 20:11:11 2003 EDT
Modified files: (Branch: PHP_4_3)
/php-src/ext/gd/libgd gd.c
Log:
- MFH
Index: php-src/ext/gd/libgd/gd.c
diff -u php-src/ext/gd/libgd/gd.c:1.24.2.18 php-src/ext/gd/libgd/gd.c:1.24.2.19
--- php-src/ext/gd/libgd/gd.c:1.24.2.18 Wed Jul 9 06:43:01 2003
+++ php-src/ext/gd/libgd/gd.c Wed Jul 9 20:11:11 2003
@@no-spam -2541,7 +2541,7 @@no-spam
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;
@@no-spam -2552,12 +2552,20 @@no-spam
f = gdImageGetPixel;
}
dst = gdImageCreateTrueColor(src->sy, src->sx);
+
if (dst != NULL) {
gdImagePaletteCopy (dst, src);
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);
}
}
@@no-spam -2570,7 +2578,7 @@no-spam
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;
@@no-spam -2581,12 +2589,20 @@no-spam
f = gdImageGetPixel;
}
dst = gdImageCreateTrueColor(src->sx, src->sy);
+
if (dst != NULL) {
gdImagePaletteCopy (dst, src);
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);
}
}
@@no-spam -2599,7 +2615,7 @@no-spam
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;
@@no-spam -2617,6 +2633,13 @@no-spam
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);
}
}