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。whileimagecreatetruecolorにはそのような制限はありません。

于 2012-04-27T21:15:28.160 に答える