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 相关文章推荐
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 PHP
php SQL防注入代码集合
Apr 25 PHP
解析coreseek for sphinx的使用
Jun 21 PHP
PHP中使用file_get_contents post数据代码例子
Feb 13 PHP
php实现将数组转换为XML的方法
Mar 09 PHP
php实现微信发红包
Dec 05 PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
May 03 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
Oct 14 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 Xdebug的安装与使用详解
2013/06/20 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
PHP使用ActiveMQ实例
2018/02/05 PHP
js chrome浏览器判断代码
2010/03/28 Javascript
jquery异步跨域访问代码
2013/06/28 Javascript
javascript实现网站加入收藏功能
2015/12/16 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
2017/12/25 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
使用Python发现隐藏的wifi
2020/03/04 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
2020/06/18 Python
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
经典C++面试题一
2016/11/06 面试题
财务方面个人工作的自我评价
2013/12/28 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
消防标语大全
2014/06/07 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书
PHP命令行与定时任务
2021/04/01 PHP
详解Laravel服务容器的优势
2021/05/29 PHP
Python集合的基础操作
2021/11/01 Python