marando / color
PHP类,用于表示和转换颜色。
此软件包的官方存储库似乎已不存在,因此软件包已被冻结。
1.3
2017-02-20 05:18 UTC
Requires (Dev)
- phpunit/phpunit: ^6.0
- symfony/var-dumper: ^3.2
This package is not auto-updated.
Last update: 2024-07-11 08:57:24 UTC
README
PHP类,用于表示和转换颜色
安装
composer require marando/color
使用/示例
导入
use Marando/Color/Color;
创建颜色
解析
一个表示颜色的hsl、rgb或hex HTML字符串可以被解析
Color::parse('hsl(90,90%,50%)'); // #17d98f Color::parse('rgb(23,217,143)'); // #80f20d Color::parse('c9189d'); // #c9189d
从RGB
$color = Color::rgb(0, 255, 0);
注意: RGB值范围从0到255。
从HSL
$color = Color::hsl(180, 0.5, 0.5);
注意: 色调范围从0到360,饱和度和亮度范围从0到1。
从Hex
$color = Color::hex('#f80'); $color = Color::hex('#7c60e2');
注意: 支持三位和六位十六进制代码。
转换
到RGB
$color = Color::hsl(180, 0.5, 0.5); $color->r; // 64 $color->g; // 191 $color->b; // 191
获取上述数组的数组
$color->rgb; // [64, 191, 191]
到HSL
$color = Color::rgb(0, 255, 0); $color->h; // 120 $color->s; // 1 $color->l; // 0.5
获取上述数组的数组
$color->hsl; // [120, 1, 0.5]
到Hex
$color = Color::hsl(180, 50, 50); $color->hex; // #40bfbf
杂项
颜色距离
这可以用来比较颜色之间的距离。在下面的示例中,紫水晶色比黑色更接近白色。这对于确定适当的对比颜色很有用。
$black = Color::hex('#000'); $white = Color::hex('#fff'); $amethyst = Color::hex('#9668c2'); $amethyst->dist($black); // 266.36816626617 $amethyst->dist($white); // 193.77048278827
随机颜色
可以通过使用rand()
静态构造函数生成随机颜色
Color::rand(); // #c42c11
您可以通过指定HSL值范围来限制随机颜色的范围
for ($i = 0; $i < 10; $i++) Color::rand([10, 20], [0.3, 0.4], [0.8, 0.9]);
注意色调、饱和度和亮度都保持在定义的范围内
#ebd7d2 = hsl(12, 0.38, 0.87)
#e4d0c8 = hsl(17, 0.34, 0.84)
#e7d3ce = hsl(12, 0.34, 0.86)
#e0c3b9 = hsl(15, 0.39, 0.80)
#e5d0ca = hsl(13, 0.34, 0.85)
#e5cfc4 = hsl(20, 0.39, 0.83)
#eedfdc = hsl(10, 0.35, 0.90)
#e9d7d0 = hsl(17, 0.36, 0.86)
#ebdad2 = hsl(19, 0.38, 0.87)
#e1cbc3 = hsl(16, 0.33, 0.82)