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 时区的一点总结
Mar 26 PHP
最新的php 文件上传模型,支持多文件上传
Aug 13 PHP
PHP文件操作实现代码分享
Sep 01 PHP
PHP手机号码归属地查询代码(API接口/mysql)
Sep 04 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
php实现aes加密类分享
Feb 16 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
Mar 16 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
Dec 10 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
May 13 PHP
php外部执行命令函数用法小结
Oct 11 PHP
PHP后门隐藏的一些技巧总结
Nov 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导出excel格式数据问题
2014/03/11 PHP
一个PHP针对数字的加密解密类
2014/03/20 PHP
php实现mysql封装类示例
2014/05/07 PHP
php字符串过滤与替换小结
2015/01/26 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
python中安装模块包版本冲突问题的解决
2017/05/02 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
如何用python处理excel表格
2020/06/09 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
super()与this()的区别
2016/01/17 面试题
幼师自我鉴定范文
2013/10/01 职场文书
采购人员的个人自我评价
2014/01/16 职场文书
试用期员工考核制度
2014/01/22 职场文书
会计师职业生涯规划范文
2014/02/18 职场文书
踏青活动策划方案
2014/08/19 职场文书
财产分割协议书范本
2014/11/03 职场文书
公务员个人考察材料
2014/12/23 职场文书
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript