php - PHP改变颜色图像优化

php - PHP改变颜色图像优化,第1张

我编写了这个粗略的代码,它不仅改变了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 个答案:

答案 0 :(得分:0)

使用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

可能会帮助您以可接受的速度达到目标。

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复