如何利用 composer 替换第三方包里的某个类(color-thief-php为例)
文章目录
- 一, 修改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为例)相关推荐
- wireshark 抓包再利用TCP socket发送包里的payload是可以实现登陆的
用户密码可被批量破解 在用户使用手机端登录时,对数据进行抓包分析. 多次抓包分析后,可得到几个关键TCP数据包. 根据前面逆向编写出的解密算法,使用socket进行数据发包测试: 可以模拟APK进行用 ...
- hive 替换第三方jar包不生效 问题排查
文章目录 一.问题描述 二.排查过程 1. 梳理hive程序的执行流程 2. 推测问题产生的原因 3. 通过arthas找出罪魁祸首 4. 问题总结和解决办法 三.个人反思和一些总结 想直接看结论和解 ...
- java -uf_Java如何快速修改Jar包里的文件内容
需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件, ...
- python如何安装第三方包
python有个优越的地方就是它可以使用大量的第三方包,那么问题来了,如何安装第三方包呢?接下来介绍几种在不同场景下python装包的方法. 1. 初级 1.1 使用pip工具,具体的就是先是 ...
- 利用Python获取国内某天从某地到某地的所有航班;附在win10系统下安装Python第三方包的方式
这段代码需要用到第三方包,有一些包部分版本有内置,win10安装第三方包的方式就是 1,打开设置->系统->关于->高级系统设置(在右侧的蓝字里)->环境变量->新建 2 ...
- 替换jar包或者war包里的文件
背景 一般情况下,我们通过某种工具(比如Maven)生成 xxx.jar 或者 xxx.war 文件.有时希望修改里面的一个文件,比如 xxx.class 文件,又或者是一个配置文件,但又不想重新bu ...
- 包里替换class文件_Java 反射之根基 Class 类
Java 反射之根基 Class 类 Java中反射机制很重要,Java的动态语言就是靠反射机制实现的,反射技术也是程序员走的更远必不可少的一个技能.一般情况下我们都是通过类来创建对象,如果要求通过一 ...
- python二次开发ug_Siemens NX (UG)中对于Python第三方包(函数库)的设置方法
从NX 10开始,NX Open增加了对Python的支持,使得NX脚本语言的多元性进一步得到扩充.但对于大多数用户来说,选择Python作为脚本语言,主要是想利用Python社区提供的各种函数库或功 ...
- python中nx_Siemens NX (UG)中对于Python第三方包(函数库)的设置方法
从NX 10开始,NX Open增加了对Python的支持,使得NX脚本语言的多元性进一步得到扩充.但对于大多数用户来说,选择Python作为脚本语言,主要是想利用Python社区提供的各种函数库或功 ...
- JDBC:软件架构、概述、数据库连接:普通项目添加jar包,URL、sql注入,类型转换,查询流程表、操作BLOB类型字段、批量插入,替换jar包、事务/数据库连接池
0 常识说明 0.1 软件架构方式介绍 B/S架构:浏览器 与 服务器之间的交互. C/S架构:安装的本地软件(如:今日头条等) 与 服务器进行交互. 0.2 JavaWeb技术概览 JDBC核心技术 ...
最新文章
- AutoX“真无人”车队驶上繁忙街头,中国正式跨入无人驾驶时代
- 理解C语言声明的优先级规则
- 多视图几何总结——三角形法
- Python 学习之列表
- 播放[.m3u8]链接解决方案
- DLL入门浅析(2)——如何使用DLL
- python 安装虚拟环境virtualenv
- myeclipse连接mysql怎么调用_myeclipse连接mysql数据库详细步骤
- Spring ScheduledTimerTask 定时任务执行
- hbase1.1.1 连接集群_hbase1.2.3集群搭建
- ‘grep‘ 不是内部或外部命令,也不是可运行的程序或批处理文件-adb shell ps | grep ***
- VarianceThreshold
- 2021年中国电动自行车行业现状分析:产业特征明显,“新国标”促使行业发展更加规范化[图]
- DHCP/Netbios
- 学习指南!双非渣本Android四年磨一剑,终局之战
- 海康萤石云 H5移动端和PC端云播放本地监控摄像头
- 庖丁解牛linux内核 百度云,庖丁解牛Linux内核分析笔记-1
- python编写一个简单的程序验证码_Python实现一个简单的验证码程序
- 2-1输入两个整数num1和num2,计算并输出他们的和、差、积、商与余数
- 【蓝天准系统 + 970M + WIN10】此nvidia驱动程序与此windows不兼容
热门文章
- css3加号图标_css实现“加号”效果的实例代码
- 破解电信中兴ZXV10 H618C超级密码telecomadmin
- solver参数详解
- 好玩又有趣的Python实例小游戏代码,我能在电脑上琢磨一天
- SDUT —— 计算组合数
- 带色彩恢复的视网膜增强算法实现 (MATLAB版本)
- 中英对照泰戈尔《飞鸟集》(一)
- 2D游戏案例:雷霆战机
- python unpack java,Java中的python struct.unpack - java
- android定时启动 tasker,Android 神器 Tasker 个人的一些配置