php获取图片的主要颜色值RGB

 

public function dominant_color()
     {
         $image = 'D:/Python/flow/test_photos/12240303_80d87f77a3_n.jpg';
         $rTotal = $gTotal = $bTotal = $total = 0;
         $i      = imagecreatefromjpeg($image);
         for ($x = 0; $x < imagesx($i); $x++) {
             for ($y = 0; $y < imagesy($i); $y++) {
                 $rgb    = imagecolorat($i, $x, $y);
                 $r      = ($rgb >> 16) & 0xFF;
                 $g      = ($rgb >> 8) & 0xFF;
                 $b      = $rgb & 0xFF;
                 $rTotal += $r;
                 $gTotal += $g;
                 $bTotal += $b;
                 $total++;
             }
         }
         $rAverage = round($rTotal / $total);
         $gAverage = round($gTotal / $total);
         $bAverage = round($bTotal / $total);
         $arr = array(
             'r' => $rAverage,
             'g' => $gAverage,
             'b' => $bAverage,
         );
         p($arr);
     }

 

posted @ 2022-05-18 17:03  下页、再停留  阅读(176)  评论(0编辑  收藏  举报