php Imagick获取图片RGB颜色值
更新时间:2014年07月28日 16:19:47 投稿:whsnow
根据用户上传的图片检索出图片的主要颜色值,再根据颜色搜索相关的图片,使用Imagick的quantizeImage方法能够很方便的取到图片中平均的RGB值
很多图片站点都会根据用户上传的图片检索出图片的主要颜色值,然后在通过颜色搜索相关的图片。
之前按照网上的方法将图片缩放(或者马赛克)然后遍历每个像素点,然后统计处RGB次数最多的值,这做法效率太低而且取到的RGB值不够精确。之后才发现使用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.jb51.net $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 实现进制转换(二进制、八进制、十六进制)互相转换实现代码,需要的朋友可以参考下。2010-10-10php中base64_decode与base64_encode加密解密函数实例
这篇文章主要介绍了php中base64_decode与base64_encode加密解密函数,实例分析了base64加密解密函数的具体用法,具有一定的实用价值,需要的朋友可以参考下2014-11-11php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
这篇文章主要介绍了php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率,结合完整实例形式对比分析了php分别使用mysqli与pdo进行数据库插入操作的执行时间,需要的朋友可以参考下2019-05-05php中json_encode处理gbk与gb2312中文乱码问题的解决方法
这篇文章主要介绍了php中json_encode处理gbk与gb2312中文乱码问题的解决方法,需要的朋友可以参考下2014-07-07
最新评论