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面向对象法则
Feb 23 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
php smarty模板引擎的6个小技巧
Apr 24 PHP
php数组转成json格式的方法
Mar 09 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
Aug 08 PHP
PHP+MySQL之Insert Into数据插入用法分析
Sep 27 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
Feb 03 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
Yii2简单实现多语言配置的方法
Jul 23 PHP
PHP目录操作实例总结
Sep 27 PHP
实现laravel 插入操作日志到数据库的方法
Oct 11 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 SPL标准库中的常用函数介绍
2015/05/11 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
游戏人文件夹程序 ver 3.0
2006/07/14 Javascript
jquery CSS选择器笔记
2010/03/29 Javascript
javascript 函数调用的对象和方法
2010/07/01 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
2016/06/23 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
js实现简单音乐播放器
2020/06/30 Javascript
jQuery编写QQ简易聊天框
2020/08/27 jQuery
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
详解Python核心对象类型字符串
2018/02/11 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
领导检查欢迎词
2014/01/14 职场文书
平安建设实施方案
2014/03/19 职场文书
五好关工委申报材料
2014/05/31 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
法人授权委托书
2014/09/16 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
中国古代史学名著《战国策》概述
2019/08/09 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP