diff --git a/UPGRADING b/UPGRADING index feef5d61c8d..2c66c4263a3 100644 --- a/UPGRADING +++ b/UPGRADING @@ -95,6 +95,8 @@ PHP 7.2 UPGRADE NOTES - GD: . Removed --enable-gd-native-ttf configuration option which was unused as of PHP 5.5.0 anyway. + . imagegd() stores truecolor images as real truecolor images. Formerly, they + have been converted to palette. - Mbstring . mb_check_encoding() accepts array parameter. Both key and value diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 29e51752862..739c069dd13 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -2565,9 +2565,6 @@ static void _php_image_output(INTERNAL_FUNCTION_PARAMETERS, int image_type, char (*func_p)(im, i, fp); break; case PHP_GDIMG_TYPE_GD: - if (im->trueColor){ - gdImageTrueColorToPalette(im,1,256); - } (*func_p)(im, fp); break; case PHP_GDIMG_TYPE_GD2: @@ -2619,9 +2616,6 @@ static void _php_image_output(INTERNAL_FUNCTION_PARAMETERS, int image_type, char (*func_p)(im, q, tmp); break; case PHP_GDIMG_TYPE_GD: - if (im->trueColor) { - gdImageTrueColorToPalette(im,1,256); - } (*func_p)(im, tmp); break; case PHP_GDIMG_TYPE_GD2: diff --git a/ext/gd/tests/imagegd_truecolor.phpt b/ext/gd/tests/imagegd_truecolor.phpt new file mode 100644 index 00000000000..1eedae484f3 --- /dev/null +++ b/ext/gd/tests/imagegd_truecolor.phpt @@ -0,0 +1,34 @@ +--TEST-- +imagegd() writes truecolor images without palette conversion +--SKIPIF-- + +--FILE-- + +===DONE=== +--EXPECT-- +signature: 65534 +truecolor: 1 +size: 411 +The images are equal. +===DONE=== diff --git a/ext/gd/tests/imagegd_truecolor.png b/ext/gd/tests/imagegd_truecolor.png new file mode 100644 index 00000000000..8c77c9f4224 Binary files /dev/null and b/ext/gd/tests/imagegd_truecolor.png differ