zhb/weather-gradient

这是一个库,用于确定在有限颜色渐变中的特定位置的颜色。

v0.2.0 2021-10-16 22:55 UTC

This package is auto-updated.

Last update: 2024-09-26 23:58:11 UTC


README

Weather gradient 是一个小的库,允许您在由最小值和颜色以及最大值和颜色组合的区间内确定给定值的 RGB 颜色。

除了最小和最大限制外,还可以添加任意数量的阈值。

Test codecov

文档

安装

使用 Composer 在您的项目中安装 Weather Gradient

composer require "zhb/weather-gradient"

使用方法

$colors =  [
    0 => [59, 130, 246], // blue
    30 => [239, 68, 68], // red
];

// create a gradient from given thresholds
$gradient = Gradient::fromColors($colors);

// get the RGB color at a specific gradient position
$color = $gradient->colorAtGradientPosition(18);

// print the color
echo $color; // rgb(167, 92, 139)

// or get r, g, b values
$r = $color->getR();
$g = $color->getG();
$b = $color->getB();

除了 Gradient 类,您还可以使用 Contrast::darkOrLight(array $rgb) 来确定给定 rgb 颜色与深色或浅色文本的最佳匹配。

// $bestColor will contain [255, 255, 255] (white)
$bestColor = Contrast::darkOrLight($darkBlue = [85, 101, 242]);

// $bestColor will contain [0, 0, 0] (black)
$bestColor = Contrast::darkOrLight($lightBlue = [59, 130, 246]);

示例

使用示例可以在 example 文件夹中找到。