From:             vincent dot k dot hughitt at nasa dot gov
Operating system: Ubuntu 9.04, Fedora 11
PHP version:      5.2.9
PHP Bug Type:     GD related
Bug description:  imagecolorset no longer behaving properly in newer versions 
of PHP

Description:
------------
I wrote a small piece of code using that uses the GD module to apply a
color-table to a gray-scale image.

In newer versions of PHP, however, the script only outputs grayscale
images, with no error message.

Furthermore, outputting the contents of imagecolorsforindex shows that the
script is still reading the palette properly, so it must have something to
do with the next step (imagecolorset).

Any ideas?

===========================================================
System 1 (non-working): 

Ubuntu 9.04 Linux 2.6.28-11-generic
PHP 5.2.6-3ubuntu4.1 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 23 2009
14:35:05)
gd 2.0.36~rc1~dfsg-3ubuntu1

===========================================================

System 2 (non-working):

Fedora 11 Beta Linux 2.6.29.1-111.fc11.i586
PHP 5.2.9
gd 2.0.35

===========================================================

System 3 (WORKING):
Ubuntu 8.10 Linux 2.6.27-11-generic
PHP 5.2.6-2ubuntu4.1 with Suhosin-Patch 0.9.6.2 (cli) (built: Feb 11 2009
20:38:24)
gd 2.0.36~rc1~dfsg-3ubuntu1

===========================================================

(Originally reported downstream at:
https://bugs.edge.launchpad.net/ubuntu/+source/php5/+bug/368036)

Reproduce code:
---------------
/**
 * Takes a grayscale PNG and modifies it's index to use 256-color 
 * lookup table then outputs it as an 8-bit JPEG image, or 8-bit 
 * paletted PNG.
 *
 * Sample image and color-table:
 *
 * http://launchpadlibrarian.net/26034594/eit_grayscale.png
 * http://launchpadlibrarian.net/26034597/ctable_eit304.png
 */

$gd = imagecreatefrompng("eit_grayscale.png");
$ctable = imagecreatefrompng("ctable_eit304.png");

for ($i = 0; $i <= 255; $i++) {
 $rgba = imagecolorsforindex($ctable, $i);
 imagecolorset($gd, $i, $rgba["red"], $rgba["green"], $rgba["blue"]);
}

imagejpeg($gd, "eit_final.jpg", 75);
imagedestroy($gd);
imagedestroy($ctable);

Expected result:
----------------
Outputs a 8-bit color JPEG.
(http://launchpadlibrarian.net/26034598/eit_final_ubuntu810.jpg)

Actual result:
--------------
Outputs a 8-bit grayscale JPEG.
(http://launchpadlibrarian.net/26034602/eit_final_ubuntu904.jpg)

-- 
Edit bug report at http://bugs.php.net/?id=48123&edit=1
-- 
Try a CVS snapshot (PHP 5.2):        
http://bugs.php.net/fix.php?id=48123&r=trysnapshot52
Try a CVS snapshot (PHP 5.3):        
http://bugs.php.net/fix.php?id=48123&r=trysnapshot53
Try a CVS snapshot (PHP 6.0):        
http://bugs.php.net/fix.php?id=48123&r=trysnapshot60
Fixed in CVS:                        
http://bugs.php.net/fix.php?id=48123&r=fixedcvs
Fixed in CVS and need be documented: 
http://bugs.php.net/fix.php?id=48123&r=needdocs
Fixed in release:                    
http://bugs.php.net/fix.php?id=48123&r=alreadyfixed
Need backtrace:                      
http://bugs.php.net/fix.php?id=48123&r=needtrace
Need Reproduce Script:               
http://bugs.php.net/fix.php?id=48123&r=needscript
Try newer version:                   
http://bugs.php.net/fix.php?id=48123&r=oldversion
Not developer issue:                 
http://bugs.php.net/fix.php?id=48123&r=support
Expected behavior:                   
http://bugs.php.net/fix.php?id=48123&r=notwrong
Not enough info:                     
http://bugs.php.net/fix.php?id=48123&r=notenoughinfo
Submitted twice:                     
http://bugs.php.net/fix.php?id=48123&r=submittedtwice
register_globals:                    
http://bugs.php.net/fix.php?id=48123&r=globals
PHP 4 support discontinued:          http://bugs.php.net/fix.php?id=48123&r=php4
Daylight Savings:                    http://bugs.php.net/fix.php?id=48123&r=dst
IIS Stability:                       
http://bugs.php.net/fix.php?id=48123&r=isapi
Install GNU Sed:                     
http://bugs.php.net/fix.php?id=48123&r=gnused
Floating point limitations:          
http://bugs.php.net/fix.php?id=48123&r=float
No Zend Extensions:                  
http://bugs.php.net/fix.php?id=48123&r=nozend
MySQL Configuration Error:           
http://bugs.php.net/fix.php?id=48123&r=mysqlcfg

Reply via email to