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 相关文章推荐
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
Apr 28 PHP
如何使用PHP计算上一个月的今天
May 23 PHP
具有时效性的php加密解密函数代码
Jun 19 PHP
wordpress自定义url参数实现路由功能的代码示例
Nov 28 PHP
体育彩票排列三组选三算法分享
Mar 07 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
thinkphp中空模板与空模块的用法实例
Nov 26 PHP
PHP实现长文章分页实例代码(附源码)
Feb 03 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
PHP5.6新增加的可变函数参数用法分析
Aug 25 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
php 利用socket发送GET,POST请求的实例代码
Jul 04 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生成网页快照 不用COM不用扩展.
2010/02/11 PHP
php 数组使用详解 推荐
2011/06/02 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
2013/02/05 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
小程序接口的promise化的实现方法
2019/12/11 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
Python中的引用知识点总结
2019/05/20 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
用 Python 制作地球仪的方法
2020/04/24 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
解析python 类方法、对象方法、静态方法
2020/08/15 Python
python字典通过值反查键的实现(简洁写法)
2020/09/30 Python
Python扫描端口的实现
2021/01/25 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
经济系大学生求职信
2013/10/01 职场文书
2013的个人自我评价
2013/12/26 职场文书
劳动实践课感言
2014/02/01 职场文书
考察邀请函范文
2015/01/31 职场文书
国庆庆典邀请函
2015/02/02 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书