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 远程图片保存到本地的函数类
Dec 08 PHP
一贴学会PHP 新手入门教程
Aug 03 PHP
php列出一个目录下的所有文件的代码
Oct 09 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
Jun 28 PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 PHP
php目录操作实例代码
Feb 21 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
Aug 12 PHP
php in_array() 检查数组中是否存在某个值详解
Nov 23 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
laravel使用Faker数据填充的实现方法
Apr 12 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
关于手调机和数调机的选择
2021/03/02 无线电
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
php学习笔记 数组遍历实现代码
2011/06/09 PHP
深入解析fsockopen与pfsockopen的区别
2013/07/05 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
js资料prototype 属性
2007/03/13 Javascript
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
javascript表单验证和Window详解
2014/12/11 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
vue上传图片组件编写代码
2017/07/26 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
vue项目实现图片上传功能
2019/12/23 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
2020/08/03 Javascript
Python赋值语句后逗号的作用分析
2015/06/08 Python
Python实现股市信息下载的方法
2015/06/15 Python
python实现下载整个ftp目录的方法
2017/01/17 Python
基于Python开发chrome插件的方法分析
2018/07/07 Python
python实现自动解数独小程序
2019/01/21 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
大学系主任推荐信范文
2013/12/24 职场文书
小学毕业家长寄语
2014/01/19 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
企业年检委托书范本
2014/10/14 职场文书