ID: 22388 Updated by: [EMAIL PROTECTED] Reported By: don at seiler dot us -Status: Open +Status: Feedback Bug Type: GD related Operating System: gentoo linux 2.4.20 PHP Version: 4.3.0 New Comment:
As a rule you probably should not use imagecreate() when dealing with potentially truecolor images like pngs. Instead use imagecreatetruecolor(). P.S. please keep the report status as feedback until you've had the chance to try the latest CVS. Previous Comments: ------------------------------------------------------------------------ [2003-02-23 20:58:56] don at seiler dot us OK I'll have to make a gentoo ebuild to try that out. Just an FYI, using imagecreatetruecolor() instead of imagecreate() fixed this problem. It seems that php's built-in gd is a little more strict with png color information. Gentoo's mod_php ebuild uses the built-in gd for 4.3.x. ------------------------------------------------------------------------ [2003-02-23 20:07:00] [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 I've tried your test script with latest CVS and it works fine. If the problem persists please indicate which GD are you using (built-in or native) as well as what version of libpng your php/gd are linked against? ------------------------------------------------------------------------ [2003-02-23 19:10:21] don at seiler dot us Just noting that it does resize jpeg images just fine. ------------------------------------------------------------------------ [2003-02-23 19:09:15] don at seiler dot us mod_php 4.3.x is failing to properly resize a png image. It outputs no errors but the resulting image is just a single color, which obviously would be nothing like the original photograph. My code works perfectly fine on mod_php 4.2.3 with the gd patch. here is the code I use for png resizing, I actually output to a new image, basically thumbnail creation. $orig_image = "/path/to/orig_image.png"; $thumb_image = "/path/to/thumb_image.png"; /* code to get image dimensions and thumb image dimensions here */ $src_image = imagecreatefrompng($orig_image); $dst_image = imagecreate($dst_width, $dst_height); imagecopyresized($dst_image, $src_image, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height); imagepng($dst_image, $thumb_image); imagedestroy($src_image); imagedestroy($dst_image); As I said this code behaves fine on 4.2.3. On 4.3.0 and 4.3.1 it outputs a single-color image/png file. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=22388&edit=1