文章目录

  • 一, 修改composer.json
  • 二,修改原因:color-thief-php只能提取色值不能计算占比呀
    • 1,修改 ColorThief\CMap.php 文件
    • 2,目录结构
    • 3,使用color-thief-php
  • 三,参考:

一, 修改composer.json

composer require ksubileau/color-thief-php

{"require": {"ksubileau/color-thief-php": "^1.4"},//  autoload 加载自定义修改后类 的方法,来替换vendor中的类  的方法,//  只修改要改类 的方法,其他 与 vendor中的类一致"autoload": {     "classmap": ["ColorThief/CMap.php"]}
}

二,修改原因:color-thief-php只能提取色值不能计算占比呀

1,修改 ColorThief\CMap.php 文件
    public function palette(){$total = array_sum($this->vboxes->map(function ($x) {return $x['vbox']->count();}));return $this->vboxes->map(function ($vb) use ($total) {return array($vb['color'], (int)($vb['vbox']->count() / (float)$total * 100));});}// 注释为原来的代码/*public function palette(){return $this->vboxes->map(function ($vb) {return $vb['color'];});}*/
2,目录结构

3,使用color-thief-php
composer install
composer dump-autoload
// 图片路径
$tempPicPath = RUNTIME_PATH . 'test.jpg';// 色值top?
$colorCount = 3;// 提取质量1最高
$colorQuality = 1;// 开始提取
$palette = ColorThief::getPalette($tempPicPath, $colorCount, $colorQuality);print_r($palette);

    // RGB 转为 颜色值(#FF0011)function rgbToColor($R, $G = -1, $B = -1){if (is_array($R) && sizeof($R) == 3) {list($R, $G, $B) = $R;}$R = intval($R);$G = intval($G);$B = intval($B);$R = dechex($R < 0 ? 0 : ($R > 255 ? 255 : $R));$G = dechex($G < 0 ? 0 : ($G > 255 ? 255 : $G));$B = dechex($B < 0 ? 0 : ($B > 255 ? 255 : $B));$COLOR = (strlen($R) < 2 ? '0' : '') . $R;$COLOR .= (strlen($G) < 2 ? '0' : '') . $G;$COLOR .= (strlen($B) < 2 ? '0' : '') . $B;return '#' . $COLOR;}

三,参考:

https://blog.csdn.net/yssong1028/article/details/92829334

https://segmentfault.com/q/1010000007298980

如何利用 composer 替换第三方包里的某个类(color-thief-php为例)相关推荐

  1. wireshark 抓包再利用TCP socket发送包里的payload是可以实现登陆的

    用户密码可被批量破解 在用户使用手机端登录时,对数据进行抓包分析. 多次抓包分析后,可得到几个关键TCP数据包. 根据前面逆向编写出的解密算法,使用socket进行数据发包测试: 可以模拟APK进行用 ...

  2. hive 替换第三方jar包不生效 问题排查

    文章目录 一.问题描述 二.排查过程 1. 梳理hive程序的执行流程 2. 推测问题产生的原因 3. 通过arthas找出罪魁祸首 4. 问题总结和解决办法 三.个人反思和一些总结 想直接看结论和解 ...

  3. java -uf_Java如何快速修改Jar包里的文件内容

    需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件, ...

  4. python如何安装第三方包

      python有个优越的地方就是它可以使用大量的第三方包,那么问题来了,如何安装第三方包呢?接下来介绍几种在不同场景下python装包的方法. 1. 初级   1.1 使用pip工具,具体的就是先是 ...

  5. 利用Python获取国内某天从某地到某地的所有航班;附在win10系统下安装Python第三方包的方式

    这段代码需要用到第三方包,有一些包部分版本有内置,win10安装第三方包的方式就是 1,打开设置->系统->关于->高级系统设置(在右侧的蓝字里)->环境变量->新建 2 ...

  6. 替换jar包或者war包里的文件

    背景 一般情况下,我们通过某种工具(比如Maven)生成 xxx.jar 或者 xxx.war 文件.有时希望修改里面的一个文件,比如 xxx.class 文件,又或者是一个配置文件,但又不想重新bu ...

  7. 包里替换class文件_Java 反射之根基 Class 类

    Java 反射之根基 Class 类 Java中反射机制很重要,Java的动态语言就是靠反射机制实现的,反射技术也是程序员走的更远必不可少的一个技能.一般情况下我们都是通过类来创建对象,如果要求通过一 ...

  8. python二次开发ug_Siemens NX (UG)中对于Python第三方包(函数库)的设置方法

    从NX 10开始,NX Open增加了对Python的支持,使得NX脚本语言的多元性进一步得到扩充.但对于大多数用户来说,选择Python作为脚本语言,主要是想利用Python社区提供的各种函数库或功 ...

  9. python中nx_Siemens NX (UG)中对于Python第三方包(函数库)的设置方法

    从NX 10开始,NX Open增加了对Python的支持,使得NX脚本语言的多元性进一步得到扩充.但对于大多数用户来说,选择Python作为脚本语言,主要是想利用Python社区提供的各种函数库或功 ...

  10. JDBC:软件架构、概述、数据库连接:普通项目添加jar包,URL、sql注入,类型转换,查询流程表、操作BLOB类型字段、批量插入,替换jar包、事务/数据库连接池

    0 常识说明 0.1 软件架构方式介绍 B/S架构:浏览器 与 服务器之间的交互. C/S架构:安装的本地软件(如:今日头条等) 与 服务器进行交互. 0.2 JavaWeb技术概览 JDBC核心技术 ...

最新文章

  1. AutoX“真无人”车队驶上繁忙街头,中国正式跨入无人驾驶时代
  2. 理解C语言声明的优先级规则
  3. 多视图几何总结——三角形法
  4. Python 学习之列表
  5. 播放[.m3u8]链接解决方案
  6. DLL入门浅析(2)——如何使用DLL
  7. python 安装虚拟环境virtualenv
  8. myeclipse连接mysql怎么调用_myeclipse连接mysql数据库详细步骤
  9. Spring ScheduledTimerTask 定时任务执行
  10. hbase1.1.1 连接集群_hbase1.2.3集群搭建
  11. ‘grep‘ 不是内部或外部命令,也不是可运行的程序或批处理文件-adb shell ps | grep ***
  12. VarianceThreshold
  13. 2021年中国电动自行车行业现状分析:产业特征明显,“新国标”促使行业发展更加规范化[图]
  14. DHCP/Netbios
  15. 学习指南!双非渣本Android四年磨一剑,终局之战
  16. 海康萤石云 H5移动端和PC端云播放本地监控摄像头
  17. 庖丁解牛linux内核 百度云,庖丁解牛Linux内核分析笔记-1
  18. python编写一个简单的程序验证码_Python实现一个简单的验证码程序
  19. 2-1输入两个整数num1和num2,计算并输出他们的和、差、积、商与余数
  20. 【蓝天准系统 + 970M + WIN10】此nvidia驱动程序与此windows不兼容

热门文章

  1. css3加号图标_css实现“加号”效果的实例代码
  2. 破解电信中兴ZXV10 H618C超级密码telecomadmin
  3. solver参数详解
  4. 好玩又有趣的Python实例小游戏代码,我能在电脑上琢磨一天
  5. SDUT —— 计算组合数
  6. 带色彩恢复的视网膜增强算法实现 (MATLAB版本)
  7. 中英对照泰戈尔《飞鸟集》(一)
  8. 2D游戏案例:雷霆战机
  9. python unpack java,Java中的python struct.unpack - java
  10. android定时启动 tasker,Android 神器 Tasker 个人的一些配置