Получение данных imagecolorat () из каждого пикселя из изображения с помощью цикла php-gd - PullRequest
1 голос
/ 06 августа 2011

Я пытаюсь получить информацию о цвете rgb из каждого пикселя, используя imagecolorat (), и я не уверен, что мой синтаксис для сохранения значений rgb в $ xy () правильный.Я смотрю на документацию, но я все еще не понимаю, что происходит не так.

Моя ошибка показывает: Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный ',' в /sites/uploadresults.php в строке 69

#loop to populate rgb values and save to array: $xy

    $imagew = imagesx($img);
    $imageh = imagesy($img);
    $xy = array(i);

    echo "Image (w,h): ($imagew, $imageh)<br/>";

    $x = 0;
    $y = 0;
    for ($x = 0; $x <= $imagew; $x++) {
    for ($y = 0;$y <= $imageh; $y++ ) {
            $rgb = imagecolorat($img, $x, $y);
            $r = ($rgb >> 16) & 0xFF;
            $g = ($rgb >> 8) & 0xFF;
            $b = $rgb & 0xFF;

            #loop to save ($r,$g,$b) into $xy
            for ($i = 0; $i <= $xytotal; $i++) {
            $xy[i] = ($r, $g, $b);
            }



            echo "xy: $xy x: $x, y: $y <br/>";
            var_dump($r, $g, $b);
        }
    }

Весь код здесь: http://pastebin.com/ZNDEzXFK

Заранее спасибо!

1 Ответ

2 голосов
/ 06 августа 2011

Я думаю, это должно быть

$xy[i] = array($r, $g, $b);

IOW $xy - это массив массивов, каждый RGB-подмассив тройной?

Кстати, строка $xy = array(i); в начале выглядит подозрительно, я думаю, это должно быть просто $xy = array();, т.е. вы инициализируете ее как пустой массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...