hurtak / phpautocolor
简单的PHP类,用于自动使用视觉上独特的颜色进行着色
v1.2.4
2014-10-30 11:33 UTC
This package is not auto-updated.
Last update: 2024-09-24 08:22:48 UTC
README
简单的PHP类,用于自动使用视觉上独特的颜色进行着色。
1. 使用场景
- 通过用户名或用户ID在聊天中着色人们的消息
- 通过用户ID或用户名在管理员仪表板上着色最新用户操作的列表
2. 特点
- 使用CIEDE2000算法生成的最视觉上独特的颜色进行聪明的颜色选择
- 可以设置返回颜色的最大和最小亮度
- 快速且轻量级
- 大量的自定义选项
- 内置错误消息的简单调试
3. 使用方法
2.1 安装
git clone https://github.com/Hurtak/PHPAutoColor.git
或者您可以使用 Composer
composer require hurtak/phpautocolor:@dev
2.2 基本设置
include "PHPAutoColor/src/PHPAutoColor.php"; $color = new PHPAutoColor();
2.3 设置(可选)
- 自定义 PHPAutoColor 设置 或不进行任何操作,将使用默认设置
2.4 发送用户ID或用户名,将返回颜色
- 接受整数、带小数的数字和字符串(区分大小写)
$color->getColor($userID); // returns "#000"
4. 代码示例
<?php // data from DB $sql = $pdo->prepare("SELECT * FROM actions"); $sql->execute(); $userActions = $sql->fetchAll(); // initial setup include "PHPAutoColor.php"; $color = new PHPAutoColor(); // PHPAutoColor settings (optional) $color->setColorType("rgb"); $color->setColorPickingMethod("dynamic"); $color->setLightnessLimit("min", 0.3); ?> <table> <tr> <td>id</td> <td>user_id</td> <td>amount</td> <td>date</td> </tr> <?php foreach ($userActions as $action): ?> <tr style="background-color: <?= $color->getColor($action['user_id']) ?>"> <td><?= $action["id"] ?></td> <td><?= $action["user_id"] ?></td> <td><?= $action["amount"] ?></td> <td><?= $action["date"] ?></td> </tr> <?php endforeach ?> </table>
5. 设置
5.1 getColor($input, $opacity = 1)
5.2 setColorPickingMethod($colorPickingMethod)
- 指定在调用 getColor() 时将使用哪种颜色选择方法
- 此设置是可选的,如果您不调用此函数,则将使用默认值
5.3 setColorType($colorType)
- 指定在调用 getColor() 后颜色将以何种格式返回
- 此设置是可选的,如果您不调用此函数,则将使用默认值
5.4 setLightnessLimit($type, $lightness)
- 限制返回的颜色感知亮度的最大或最小值,在调用 getColor() 后将返回。例如,如果您有白色背景,那么您不希望 getColor() 返回白色和其他非常明亮的颜色,因此您使用 setLightnessLimit("max", 0.8)
- 如果需要同时设置 "max" 和 "min" 限制,则可以调用 setLightnessLimit() 两次(最大和最小亮度的差异必须大于或等于 0.2)
- 此设置是可选的,如果您不调用此函数,则将使用默认值
5.5 setMaximumColors($maximumColors)
- 限制 PHPAutoColor 将使用的颜色数量。
- 如果 PHPAutoColor 的一个实例中使用的颜色列表达到 $maximumColors 限制,我们将开始重新使用先前分配的颜色
- 此设置是可选的,如果您不调用此函数,则不会限制使用的颜色数量
5.6 enableDebugging()
- 启用显示检测到的错误
- 如果发生错误,getColor() 方法将返回空字符串
- 此设置是可选的,如果您不调用此函数,则调试窗口不会出现
6. 预生成颜色列表
- 使用 CIEDE2000 算法生成的 65 种视觉上最独特的颜色列表
- 如果您使用 setColorPickingMethod() 与 "static"(默认)、"dynamic" 或 "dynamic-random" 参数一起使用,则将使用此列表中的颜色