本文实例讲述了PHP编程获取图片的主色调的方法。分享给大家供大家参考,具体如下:
代码中用到了php的图片扩展,所以使用之前,需要先安装PHP的Imagick扩展,具体安装如下(window下): windows7下安装php的imagick和imagemagick扩展教程
代码如下:
<?php $average = new Imagick("./fruit/143511081321676_593.jpg"); $average->quantizeImage( 10, Imagick::COLORSPACE_RGB, 0, false, false ); $average->uniqueImageColors(); function GetImagesColor( Imagick $im ){ $colorarr = array(); $it = $im->getPixelIterator(); $it->resetIterator(); while( $row = $it->getNextIteratorRow() ){ foreach ( $row as $pixel ){ $colorarr[] = $pixel->getColor(); } } return $colorarr; } $colorarr = GetImagesColor($average); foreach($colorarr as $val){ $r += $val['r']; $g += $val['g']; $b += $val['b']; echo "<div style='background-color: rgb({$val['r']},{$val['g']},{$val['b']});width:50px;height:50px;float:left;'></div>"; } $r = round($r/10); $g = round($g/10); $b = round($b/10); echo "<br><div style='background-color: rgb({$r},{$g},{$b});width:100px;height:100px;float:left;'></div>"; ?>
希望本文所述对大家PHP程序设计有所帮助。