Лучший способ получить карту всех пикселей изображения с помощью GD

Следующий код используетБиблиотека SimpleImage

У меня есть функция, которая получает пиксель из изображения:

function getPixel($x, $y) {

    $colors = imagecolorsforindex($this->image, imagecolorat($this->image, $x, $y));
    $n[0] = $colors['red'];
    $n[1] = $colors['green'];
    $n[2] = $colors['blue'];
    $str = "#";
    for($x=0;$x < 3; $x++){
        $n[$x] = intval($n[$x],10);
        if (is_nan($n[$x])) return "00";
        $n[$x] = max(0, min($n[$x],255));
        $bam = "0123456789ABCDEF";
        $str .= $bam{($n[$x]-$n[$x]%16)/16} . $bam{$n[$x]%16};
    }
    return $str; 
}

Чтобы получить каждый пиксель изображения, я использую этот цикл:

$arr = [];
for($y = 0;$y < $image->getHeight(); $y++){
    $arr[$y] = [];
    for($x = 0; $x < $image->getWidth(); $x++){
        $arr[$y][$x] = $image->getPixel($x, $y);
    }
}

Интересно, есть ли более быстрый способ сделать это с GD и PHP?

РЕДАКТИРОВАТЬ

Что я'Я думаю, это какой-то способ получить значение каждого пикселя из GD без цикла PHP.

Ответы на вопрос(2)

Ваш ответ на вопрос