Skip to content

Repository files navigation

Weather Gradient

Weather gradient is a small library allowing to determine the RGB color at a given value in an interval bounded by a combination of a minimum value and a color and a combination of a maximum value and a color.

In addition to the minimum and maximum limits, it is possible to add as many thresholds as desired.

Testcodecov

Documentation

Installation

Use Composer to install Weather Gradient in your project :

composer require "zhb/weather-gradient"

Usage

$colors = [
0 => [59, 130, 246], // blue30 => [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 colorecho$color; // rgb(167, 92, 139)// or get r, g, b values$r = $color->getR();
$g = $color->getG();
$b = $color->getB();

In addition to the Gradient class, you can use the Contrast::darkOrLight(array $rgb) to determine if a dark or light text fit the best with the given rgb color.

// $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]);

Examples

A usage example can be found in example folder.

About

Library for determining the color at a specific position in a bounded color gradient.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages