PHP编程获取图片的主色调的方法【基于Imagick扩展】


Posted in PHP onAugust 02, 2017

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
php访问查询mysql数据的三种方法
Oct 09 PHP
asp和php下textarea提交大量数据发生丢失的解决方法
Jan 20 PHP
PHP跨时区(UTC时间)应用解决方案
Jan 11 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
PHP调试函数和日志记录函数分享
Jan 31 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
php实现转换ubb代码的方法
Jun 18 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
May 28 PHP
Yii框架连接mongodb数据库的代码
Jul 27 PHP
ThinkPHP发送邮件示例代码
Oct 08 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
Jun 17 PHP
php7安装mongoDB扩展的方法分析
Aug 02 #PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 #PHP
基于win2003虚拟机中apache服务器的访问
Aug 01 #PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 #PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
Aug 01 #PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 #PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 #PHP
You might like
PHP学习笔记之二 php入门知识
2011/01/12 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
2013/02/18 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
javascript Demo模态窗口
2009/12/06 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
2017/07/26 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
python创建文本文件的简单方法
2020/08/30 Python
英国香水店:The Perfume Shop
2017/03/27 全球购物
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
会计岗位职责模板
2014/03/12 职场文书
大学生新学期计划书
2014/04/28 职场文书
锅炉工岗位职责
2015/02/13 职场文书
个人年终总结怎么写
2015/03/09 职场文书
党员学习型组织心得体会
2019/06/21 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电