PHP изменить цвета оптимизация изображения

Я написал этот грубый код, который не только меняет цвет определенного цвета в изображении PHP, но и упорядочивает пиксели при этом, поэтому, если я хочу заменить его на фактическое изображение, я могу. Этот код обрабатывает прямоугольник, который поворачивается влево, читая сверху справа -> слева. Это то, что я до сих пор. Все работает... Однако это действительно медленно. Мне было интересно, может ли быть другой подход к этому, чтобы сделать это быстрее. Благодарю.

<?php    
       while (count($yArr) > 0) {
            $startY = min($yArr);
            $arrSmall = array_keys($yArr, $startY);
            $theX = 0;
            for ($i = 0; $i < count($arrSmall); $i++) {
                $x = $xArr[$arrSmall[$i]];
                if ($x > $theX) {
                    $theX = $x;
                }
            }
            $startingX = $theX;
            while ($startingX >= $minX) {
                $minY = 10000;
                $arr = array_keys($xArr, $startingX);
                if (count($arr) != 0) {
                    $uSKey = -1;
                    for ($i = 0; $i < count($arr); $i++) {
                        $y = $yArr[$arr[$i]];
                        if ($y < $minY) {
                            $minY = $y;
                            $uSKey = $arr[$i];
                        }
                    }
                    if ($uSKey != -1) {
                        unset($xArr[$uSKey]);
                        unset($yArr[$uSKey]);
                        $xArr = array_values($xArr);
                        $yArr = array_values($yArr);
                    }
                    imagesetpixel($origImage, $startingX, $minY, $newColor);
                }
                $startingX--;
            }
        }
?>

1 ответ

Используйте методы более высокого уровня, которые GD предлагает вам для выполнения операций, которые вы хотите выполнить:

http://php.net/manual/en/function.imagerotate.php

http://php.net/manual/en/function.imagecolorexact.php http://php.net/manual/en/function.imagecolorset.php

возможно, поможет вам достичь своей цели с приемлемой скоростью.

Другие вопросы по тегам