On Sun, 02 Feb 2003 14:36:38 -0800 (PST) Mihail Bota <mbota@almaak.usc.edu> wrote: > No, this is not the problem. $i and $j start from 0, anyway. The real > problem, as I see it, is the following: > I have a big loop, to create something like a checkerboard, but with > 13 or so colors. If the loop iterates more than 256 times, then those > cells with indexes bigger than 255 (or 256, does not matter) will have > a single color: that of the 255th or 256th cell. Random color, you create a palette based image, which has only 256 colors (0..255), the 1st allocated color is the backgroud color, you have only 255 colors to use, 1..255. You loop 16*16 (<17), you reached the maximum amount of color at the 16th iteration. You can easily solve your problem by using a truecolor image, make your script a little bit more efficient by allocating before the loop, and cleaner without the ugly if else endless test. Find a quick cleanup at the footer As a side note, an image of 500x400 means a horizantal ranges from 0 to 499 and a vertical range from 0 to 399. hth pierre <?php $image=imagecreatetruecolor(500,500); $white=imageColorAllocate($image,255,255,255); imageFilledRectangle($image,0,0,499,499,$white); $colors = array( imagecolorallocate($image, 255, 255, 0), imagecolorallocate($image, 255, 0, 0), imagecolorallocate($image, 255, 0, 100), imagecolorallocate($image, 255, 100, 100), imagecolorallocate($image, 255, 210, 100), imagecolorallocate($image, 0, 255, 255), imagecolorallocate($image, 0, 255, 200), imagecolorallocate($image, 0, 100, 255), imagecolorallocate($image, 0, 100, 200), imagecolorallocate($image, 200, 0, 0), imagecolorallocate($image, 0, 0, 138), imagecolorallocate($image, 0, 0, 255) ); for ($i=0; $i<17; $i++) { for ($j=0; $j<17; $j++) { /* should be 0..11 to avoid the test */ $qq=rand(0,13); if($qq && $qq<12){ imagefilledrectangle($image, 7*$j,7*$i,7*$j+7,7*$i+7,$colors[$qq]); } } } header("Content-type: image/png"); imagepng($image); imagedestroy($image); ?> -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php