|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-01-20 09:39 UTC] iliaa@php.net
[2003-01-20 12:20 UTC] tuxedobob at mac dot com
[2003-01-20 15:51 UTC] sniper@php.net
[2003-01-20 17:06 UTC] iliaa@php.net
[2003-01-20 18:27 UTC] tuxedobob at mac dot com
[2003-01-20 18:32 UTC] tuxedobob at mac dot com
[2003-01-20 18:57 UTC] iliaa@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 17:00:01 2025 UTC |
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.