php Imagick获取图片RGB颜色值


Posted in PHP onJuly 28, 2014

很多图片站点都会根据用户上传的图片检索出图片的主要颜色值,然后在通过颜色搜索相关的图片。

之前按照网上的方法将图片缩放(或者马赛克)然后遍历每个像素点,然后统计处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 ){
// 3water.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基础知识:类与对象(5) static
Dec 13 PHP
linux php mysql数据库备份实现代码
Mar 10 PHP
PHP 模拟$_PUT实现代码
Mar 15 PHP
php生成随机颜色的方法
Nov 13 PHP
php实现根据IP地址获取其所在省市的方法
Apr 30 PHP
php文件上传你必须知道的几点
Oct 20 PHP
PHP编程入门的基本语法知识点总结
Jan 26 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
PHP 使用二进制保存用户状态的实例
Jan 29 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
Apr 23 PHP
thinkPHP5使用Rabc实现权限管理
Aug 28 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 PHP
PHP exif扩展方法开启详解
Jul 28 #PHP
取得单条网站评论以数组形式进行输出
Jul 28 #PHP
PHP中unset,array_splice删除数组中元素的区别
Jul 28 #PHP
PHP常用数组函数介绍
Jul 28 #PHP
PHP调用C#开发的dll类库方法
Jul 28 #PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 #PHP
windows的文件系统机制引发的PHP路径爆破问题分析
Jul 28 #PHP
You might like
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
php echo 输出字符串函数详解
2010/05/13 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
变量在 PHP7 内部的实现(一)
2015/12/21 PHP
php parse_str() 函数的定义和用法
2016/05/23 PHP
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
js通过googleAIP翻译PHP系统的语言配置的实现代码
2011/10/17 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
向JavaScript的数组中添加元素的方法小结
2015/10/24 Javascript
深入理解Node.js 事件循环和回调函数
2016/11/02 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
vue中使用protobuf的过程记录
2018/10/26 Javascript
vue  directive定义全局和局部指令及指令简写
2018/11/20 Javascript
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
layui表格数据重载
2019/07/27 Javascript
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
Python Dataframe 指定多列去重、求差集的方法
2018/07/10 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
Python基于递归算法求最小公倍数和最大公约数示例
2018/07/27 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
django 消息框架 message使用详解
2019/07/22 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
美国知名生活购物网站:Goop
2017/11/03 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
服装销售人员求职自我评价
2013/09/26 职场文书
优秀实习自我鉴定
2013/12/04 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android