c4n4r / pigment-php
用于生成 CSS 渐变的 PHP 库
1.1.1
2023-12-22 18:02 UTC
Requires
- php: ^8.1
Requires (Dev)
- pestphp/pest: ^2.16
- phpstan/phpstan: ^1.10
- symfony/var-dumper: ^6.3
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 开发,如果您有任何问题,请随时联系我。