|
很多圖片站點都會根據用戶上傳的圖片檢索出圖片的主要顏色值,然后在通過顏色搜索相關的圖片。
之前按照網上的方法將圖片縮放(或者馬賽克)然后遍歷每個像素點,然后統(tǒng)計處RGB次數(shù)最多的值,這做法效率太低而且取到的RGB值不夠精確。之后才發(fā)現(xiàn)使用Imagick的quantizeImage方法能夠很方便的取到圖片中平均的RGB值.
$average = new Imagick("xiaocai.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 ){// www.jbxue.com$colorarr[] = $pixel->getColor();}}return $colorarr;}$colorarr = GetImagesColor($average);foreach($colorarr as $val){echo "<div style='background-color: rgb({$val['r']},{$val['g']},{$val['b']});width:50px;height:50px;float:left;'></div>";}
php技術:php Imagick獲取圖片RGB顏色值,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。