php 提取图片主要颜色


PHP实现获取图片颜色值的方法

PHP获取图片颜色值检测图片主要颜色是通过imagecreatefromjpeg函数读取图片,再循环获得各个颜色值加以计算实现的。

 

 1 /**
 2  * 获取图片主要颜色
 3  * @param $image
 4  * @return array
 5  */
 6 function dominant_color($image)
 7 {
 8     $rTotal = $gTotal = $bTotal = $total = 0;
 9     $i      = imagecreatefromjpeg($image);
10     for ($x = 0; $x < imagesx($i); $x++) {
11         for ($y = 0; $y < imagesy($i); $y++) {
12             $rgb    = imagecolorat($i, $x, $y);
13             $r      = ($rgb >> 16) & 0xFF;
14             $g      = ($rgb >> 8) & 0xFF;
15             $b      = $rgb & 0xFF;
16             $rTotal += $r;
17             $gTotal += $g;
18             $bTotal += $b;
19             $total++;
20         }
21     }
22     $rAverage = round($rTotal / $total);
23     $gAverage = round($gTotal / $total);
24     $bAverage = round($bTotal / $total);
25     return array(
26         'r' => $rAverage,
27         'g' => $gAverage,
28         'b' => $bAverage,
29     );
30 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM