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 相关文章推荐
基于mysql的bbs设计(三)
Oct 09 PHP
php 在线打包_支持子目录
Jun 28 PHP
支持中文的php加密解密类代码
Nov 27 PHP
解析PHP高效率写法(详解原因)
Jun 20 PHP
php检测网页是否被百度收录的函数代码
Oct 09 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
thinkphp使用phpmailer发送邮件的方法
Nov 24 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
PHP 获取指定地区的天气实例代码
Feb 08 PHP
PHP 无限级分类
May 04 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
如何通过Apache在本地配置多个虚拟主机
Jul 29 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配置参数总结
2013/06/14 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
拥抱模块化的JavaScript
2012/03/07 Javascript
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
2014/02/04 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
Python是编译运行的验证方法
2015/01/30 Python
python实现输入数字的连续加减方法
2018/06/22 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
翻新二手苹果产品的网络领导者:Mac of all Trades
2017/12/19 全球购物
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
构造方法和其他方法的区别
2016/04/26 面试题
高中毕业的自我鉴定
2013/12/09 职场文书
安全保证书范文
2014/04/29 职场文书
新闻报道策划方案
2014/06/11 职场文书
高三语文复习计划
2015/01/19 职场文书
三下乡个人总结
2015/03/04 职场文书
元旦主持词开场白
2015/05/29 职场文书
导游词之山西关帝庙
2019/11/01 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
sass 常用备忘案例详解
2021/09/15 HTML / CSS
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android