Суть проблемы следующая. Есть простецкий код, который зарисовывает квадрат попиксельно, проблема в том что двойной цикл выполняется не до конца (по крайней мере у меня). Причину такого поведения найти не удается, но если "$p = imagecolorallocate($im, 0, 0, 255);" вынести из цикла, то все работает. Но эта строчка должна быть в цикле обязательно! Код (Text): <? header ("Content-type: image/png"); $im = @imagecreate (500, 500) or die ("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate ($im, 210, 210, 210); for($i=0; $i< 500; $i++) { for($j=0; $j< 500; $j++) { $p = imagecolorallocate($im, 0, 0, 255); imagesetpixel($im, $i, $j, $p); } } imagepng($im); imagedestroy($im); ?>
Проблема решена, ошибка в том что imagecreate ограничен палитрой из 256 цветов, и как только переваливает за это число, то возвращается false. Нужно использовать imagecreatetruecolor, тут таких ограничений нет.