ID: 40158 User updated by: henus at mail dot ru Reported By: henus at mail dot ru Status: Open Bug Type: GD related Operating System: Windows XP PHP Version: 5.2.0 Assigned To: pajoye New Comment:
i expect absolutely black image like http://www.fort-ross.ru/henus/gd/result_correct.png instead of http://www.fort-ross.ru/henus/gd/result_incorrect.png i use colorizing by black for clearness. Previous Comments: ------------------------------------------------------------------------ [2007-01-18 18:11:31] henus at mail dot ru correction fo my previous post about php-5.2.0\ext\gd\libgd\gd.c Lines 3682-3688: new_pxl = gdImageColorAllocateAlpha(src, (int)r, (int)g, (int)b, a); if (new_pxl == -1) { new_pxl = gdImageColorClosestAlpha(src, (int)r, (int)g, (int)b, a); } if ((y >= 0) && (y < src->sy)) { gdImageSetPixel (src, x, y, new_pxl); in gdImageSetPixel src should be absolutely transparent, with alpha=127 differently it mix colors. ------------------------------------------------------------------------ [2007-01-18 18:09:31] [EMAIL PROTECTED] Please provide an *image* showing what you expect. ------------------------------------------------------------------------ [2007-01-18 17:56:25] henus at mail dot ru i create black image and overlay it by colorized white-truecolor-png24-image ( http://fort-ross.ru/henus/gd/mask.png ) the result of colorize like: imagefilter($mask, IMG_FILTER_COLORIZE, -255, -255, -255); is image: http://www.fort-ross.ru/henus/gd/result_incorrect.png which contain artefacts... also, the result of such script ( http://fort-ross.ru/henus/gd/demo2.phps ) is: is truecolor - 1 before - Array ( [red] => 255 [green] => 255 [blue] => 255 [alpha] => 63 ) wrong result, using filter - Array ( [red] => 126 [green] => 126 [blue] => 126 [alpha] => 31 ) wrong result, using imagecolorallocatealpha and imagesetpixel - Array ( [red] => 126 [green] => 126 [blue] => 126 [alpha] => 31 ) correct result, using imagefill, imagecolorallocatealpha and imagesetpixel - Array ( [red] => 0 [green] => 0 [blue] => 0 [alpha] => 63 ) I.e. colorizing pixel ( [red] => 255 [green] => 255 [blue] => 255 [alpha] => 63 ) to black should be with ( [red] => 0 [green] => 0 [blue] => 0 [alpha] => 63 ), not ( [red] => 126 [green] => 126 [blue] => 126 [alpha] => 31 ) ------------------------------------------------------------------------ [2007-01-18 15:22:49] [EMAIL PROTECTED] Can you provide an image to show what you expect? I did not check your script but having an image will help to really understand what you are trying to achieve. By the way, filters work only with truecolor images, allocate will never fail. ------------------------------------------------------------------------ [2007-01-18 14:26:28] [EMAIL PROTECTED] >...should be without alpha... Could you plz elaborate? A unified diff would explain it much better, btw. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/40158 -- Edit this bug report at http://bugs.php.net/?id=40158&edit=1