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和ACCESS写聊天室(六)
Oct 09 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
Jun 23 PHP
PHP类与对象中的private访问控制的疑问
Nov 01 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
Jun 14 PHP
如何在php中正确的使用json
Aug 06 PHP
PHP json_decode函数详细解析
Feb 17 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
通过源码解析Laravel的依赖注入
Jan 22 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
Jun 08 PHP
使用laravel的migrate创建数据表的方法
Sep 30 PHP
laravel执行php artisan migrate报错的解决方法
Oct 09 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 ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
php中JSON的使用方法
2015/04/30 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
jQuery ui 1.7更新小结
2009/08/15 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
Python抓取电影天堂电影信息的代码
2016/04/07 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
python实现学生信息管理系统
2020/04/05 Python
使用Python开发SQLite代理服务器的方法
2018/12/07 Python
python 自动批量打开网页的示例
2019/02/21 Python
详解Python静态网页爬取获取高清壁纸
2019/04/23 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
Django通过json格式收集主机信息
2020/05/29 Python
Python tkinter实现日期选择器
2021/02/22 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
教师中国梦演讲稿
2014/04/23 职场文书
企业工会工作总结2015
2015/05/13 职场文书
预备党员介绍人意见
2015/06/01 职场文书
青年教师听课心得体会
2016/01/15 职场文书
html5调用摄像头实例代码
2021/06/28 HTML / CSS