ID:               28949
 User updated by:  vkary at web dot de
 Reported By:      vkary at web dot de
-Status:           Feedback
+Status:           Open
 Bug Type:         GD related
 Operating System: WinXP & Linux
 PHP Version:      4.3.7
 New Comment:

BOUTELL.COM:
-------------
"07/21/04: gd 2.0.28 has been released. gd 2.0.28 restores support for
reading and writing GIF images. There is also a fix for a possible
problem in gdImageTrueColorToPalette."


Previous Comments:
------------------------------------------------------------------------

[2004-07-23 01:11:12] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip



------------------------------------------------------------------------

[2004-07-14 12:55:50] service at textilenetwork dot de

This bug still exists in release of PHP 5!

------------------------------------------------------------------------

[2004-07-03 12:16:54] vkary at web dot de

...and another difference:

A few lines above, the variable "count" is initialized with "0"

------------------------------------------------------------------------

[2004-07-03 11:58:53] vkary at web dot de

I have found a difference between the PHP 4.3.2 and PHP 4.3.7 in the
file "gd_topal.c"

gd_topal.c, PHP 4.3.2, lines 733-742
-------------------------------------

#ifdef ORIGINAL_LIB_JPEG
        cinfo->colormap[0][icolor] = (JSAMPLE) ((c0total + (total >> 1)) /
total);
        cinfo->colormap[1][icolor] = (JSAMPLE) ((c1total + (total >> 1)) /
total);
        cinfo->colormap[2][icolor] = (JSAMPLE) ((c2total + (total >> 1)) /
total);
#else
        im->red[icolor] = (int) ((c0total + (total >> 1)) / total);
        im->green[icolor] = (int) ((c1total + (total >> 1)) / total);
        im->blue[icolor] = (int) ((c2total + (total >> 1)) / total);
#endif
}


gd_topal.c, PHP 4.3.7, lines 733-748
-------------------------------------

#ifdef ORIGINAL_LIB_JPEG
        cinfo->colormap[0][icolor] = (JSAMPLE) ((c0total + (total >> 1)) /
total);
        cinfo->colormap[1][icolor] = (JSAMPLE) ((c1total + (total >> 1)) /
total);
        cinfo->colormap[2][icolor] = (JSAMPLE) ((c2total + (total >> 1)) /
total);
#else
        /* 2.0.16: Paul den Dulk found an occasion where total can be 0 */
        if (count) {
                im->red[icolor] = (int) ((c0total + (total >> 1)) / total);
                im->green[icolor] = (int) ((c1total + (total >> 1)) / total);
                im->blue[icolor] = (int) ((c2total + (total >> 1)) / total);
        } else {
                im->red[icolor] = 255;
                im->green[icolor] = 255;
                im->blue[icolor] = 255;
        }
#endif

------------------------------------------------------------------------

[2004-06-28 18:27:19] vkary at web dot de

Description:
------------
When trying to reduce a true color image to a palette image with for
example 16 or 32 colors, many colors are missing from the palette and
filled with white color instead.

Reproduce code:
---------------
<?php
$src_im = imagecreatefromjpeg ("ara.jpg");

imagetruecolortopalette ($src_im, false, 16);

Header("Content-type: image/png");
imagepng($src_im);
?>

Expected result:
----------------
The color palette should have exactly the number of colors specified in
imagetruecolortopalette (16 for example) an the color reduced image
should look like this:(created with PHP 4.3.2, GD-Lib 2.0.12)

http://www.textilenetwork.de/php/ara16_4_3_2.png

The color palette for the image above:

http://www.textilenetwork.de/php/ara16_4_3_2_pal.png

or for 32 colors:

http://www.textilenetwork.de/php/ara32_4_3_2.png
http://www.textilenetwork.de/php/ara32_4_3_2_pal.png


Actual result:
--------------
The images and color palettes with PHP 4.3.6: (& PHP 4.3.7)

http://www.textilenetwork.de/php/ara16_4_3_6.png
http://www.textilenetwork.de/php/ara16_4_3_6_pal.png

http://www.textilenetwork.de/php/ara32_4_3_6.png
http://www.textilenetwork.de/php/ara32_4_3_6_pal.png



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=28949&edit=1

Reply via email to