PHP GD从数组中绘制像素数据停止中间循环

时间:2012-04-14 07:00:44

标签: php gd pixels

我在JSON对象中有一个像素数据数组。我正在尝试使用PHP将像素数据重绘为GD图像。

我正在使用类似下面的内容(出于测试目的,我已经启动了循环的索引为5000,大约是数组的一半。)

$im = imagecreate($w,$h);
$i=5000;
while($i < count($pixels)){
    $item = $data[$i];
    $rgb = $item['rgb'];
    $pos = $item['pos'];
    $col = imagecolorallocate($im, $rgb[0],$rgb[1],$rgb[2]);
    imagesetpixel($im , $pos[0], $pos[1], $col);
    $i++;
}
header("Content-Type: image/png");
imagepng($im);

看起来我的脚本只是在它被删除并将图像转出并没有错误之前在阵列中如此遥远。

下面是我通过数组长度中途启动数组索引时的输出。我得到了一小部分图像。

enter image description here

这是由于记忆吗?还是暂停?页面加载或任何东西都不需要很长时间......

1 个答案:

答案 0 :(得分:3)

好的,对于有此问题的其他人。这是解决方法。使用imagecreatetruecolor代替imagecreate。在使用imagecolorallocate时,似乎imagecreate最多只能分配255种颜色。虽然imagecreatetruecolor没有这样的限制。