2

我在 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);

看来我的脚本只是在它切断并没有错误地转储图像之前将它放到阵列的下方。

下面是当我在数组长度的一半处开始数组索引时的输出。我得到了图像的一小部分。

在此处输入图像描述

这是因为记忆吗?还是超时?该页面不需要很长时间才能加载或任何东西......

4

1 回答 1

4

好的,对于其他有这个问题的人。这是修复。使用imagecreatetruecolor而不是imagecreate. 使用时似乎imagecolorallocate最多只能分配 255 种颜色imagecreate。虽然imagecreatetruecolor没有这样的限制。

于 2012-04-27T21:15:28.160 回答