這篇文章主要介紹了PHP編程擷取圖片的主色調的方法,基於PHP的Imagick擴充實現針對圖片的顏色值擷取功能,需要的朋友可以參考下
本文執行個體講述了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 "<p style='background-color: rgb({$val['r']},{$val['g']},{$val['b']});width:50px;height:50px;float:left;'></p>";}$r = round($r/10);$g = round($g/10);$b = round($b/10);echo "<br><p style='background-color: rgb({$r},{$g},{$b});width:100px;height:100px;float:left;'></p>";?>