ID:               21763
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Feedback
 Bug Type:         GD related
 Operating System: Mac OS X 10.2.3
 PHP Version:      4.3.0
 New Comment:

Please provide the two images used in your example.
Also, are you using the bundled GD library or the non-bundled one?


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

[2003-01-20 02:28:08] [EMAIL PROTECTED]

In the following script:

<?php
$image2 = ImageCreateFromPNG('images/Monsters/Orc.png');
$image = ImageCreateFromPNG('images/Board.png');
$black = ImageColorAllocate($image2, 0, 0, 0);

imagecolortransparent($image2, $black);
imagecopy($image, $image2, 40*2+8, 40*2+8, 0, 0, 39, 39);

header("Content-type: image/png");
ImagePNG($image);
imagedestroy($image);
imagedestroy($image2);
?>

what I expect to happen is that the black in the 'Orc.png' image will
become transparent when it is copied onto 'Board.png'. This doesn't
happen. The transparency is not recognized at all.

More info:
Orc.png is a 2-bit PNG, with black occupying two of the colors. (It
doesn't work even if it only has one.)
Board.png is a 4-bit PNG with 6 distinct colors (11 copies of black).
If I change the line to

imagecolortransparent('$image2, imagecolorat($image2, 0, 0);

it works correctly. If I change the line use either 2 or 3, as in

imagecolortransparent('$image2, 3);

it works depending on which black (index no. 2 or 3) is actually in the
image. There may be no way around this except to have
imagecolortransparent check by RGB values rather than an index number.

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


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

Reply via email to