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部分常见问题总结
Oct 09 PHP
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
May 06 PHP
PHP 图片水印类代码
Aug 27 PHP
Zend的MVC机制使用分析(一)
May 02 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
linux下编译安装memcached服务
Aug 03 PHP
我整理的PHP 7.0主要新特性
Jan 07 PHP
基于CI框架的微信网页授权库示例
Nov 25 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
PHP7下协程的实现方法详解
Dec 17 PHP
PHP中md5()函数的用法讲解
Mar 30 PHP
php的优点总结 php有哪些优点
Jul 19 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下常用正则表达式整理
2010/10/26 PHP
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
PHP header()函数使用详细(301、404等错误设置)
2013/04/17 PHP
使用php实现下载生成某链接快捷方式的解决方法
2013/05/07 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
php如何连接sql server
2015/10/16 PHP
PHP合并两个或多个数组的方法
2019/01/20 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
javascript新手语法小结
2008/06/15 Javascript
javascript css float属性的特殊写法
2008/11/13 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
Vue 子组件与数据传递问题及注意事项
2019/07/11 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
python删除文本中行数标签的方法
2018/05/31 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
python实现自动解数独小程序
2019/01/21 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
澳大利亚领先的内衣店:Bendon Lingerie澳大利亚
2020/05/15 全球购物
贷款委托书范本
2014/04/08 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
汽车质检员岗位职责
2015/04/08 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
会计主管竞聘书
2015/09/15 职场文书
golang中的struct操作
2021/11/11 Golang
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB