c4n4r/pigment-php

用于生成 CSS 渐变的 PHP 库

1.1.1 2023-12-22 18:02 UTC

This package is auto-updated.

Last update: 2024-09-22 19:52:09 UTC


README

Pigment 是一个简单的 PHP 库,用于颜色生成和操作。它可以用来从两个十六进制颜色源生成渐变。它还可以用来操作颜色(例如,使颜色变亮或变暗)。

安装

您可以通过 Composer 安装此库

composer require c4n4r/pigment

用法

创建 pigment 实例

use Pigment\Pigment;
$pigment = new Pigment('#ff0000');

//or generate a random color

$pigment = Pigment::random();

$pigment->getHex(); // #ff0000
$pigment->getRgb(); // ["red" => 255, "green" => 0, "blue" => 0]

变暗或变亮颜色

use Pigment\Pigment;

//darken by 10%
$pigment = new Pigment('#007D64');
$pigment->darken(10); //#00715a

//lighten by 10%
$pigment = new Pigment('#007D64');
$pigment->lighten(10); //#008a6e

您还可以在两种颜色之间生成渐变

use Pigment\Pigment;
$colorOne = new Pigment('#007D64');
$colorTwo = new Pigment('#ff0000');

//create a gradient with 10 steps
$gradient = $colorOne->gradient($colorTwo, 10);

每个操作颜色的方法都会返回一个新的 Pigment 类实例。

直接使用 PigmentColorHandler 类的方法

use Pigment\Handlers\PigmentColorHandler;

$colorHandler = new PigmentColorHandler();

//darken by 10%
$darkenedColor = $colorHandler->darken('#007D64', 25);
$lightenedColor = $colorHandler->lighten('#007D64', 25);

//create a gradient with 10 steps
$gradient = $colorHandler->createGradientBetweenToColors('#007D64', '#ff0000', 10);

这些方法不会返回一个新的 Pigment 类实例,如果您不需要进一步操作颜色,可以使用它们。

转换不同格式的颜色

您可以使用 ColorTransformer 类在不同格式之间转换颜色,而无需使用 Pigment 类。

$colorTransformer = new ColorTransformer();

//hex to rgb
$colorTransformer->explodeToRgb('#007D64');

//rgb to hex
$colorTransformer->implodeToHex([0, 125, 100]);

//rgb to hsl
$colorTransformer->rgbToHsl([0, 125, 100]);

//hsl to rgb
$colorTransformer->hslToRgb();

示例

您可以通过查看示例文件夹获取更多示例。

许可

此库采用 MIT 许可证授权。

致谢

此库由 Hadrien Delphin 开发,如果您有任何问题,请随时联系我。