phpexperts/color-speaker

一款易于使用的不同颜色模型的转换器。

v1.1.1 2020-09-25 03:12 UTC

This package is auto-updated.

Last update: 2024-08-25 11:39:38 UTC


README

Travis CIMaintainability Maintainability Test Coverage

ColorSpeaker 是 PHP Experts, Inc. 的一个项目,是一个易于使用的不同类型颜色模型的转换器。

它旨在支持所有主要的颜色模型:RGB、CSS十六进制代码、HSL和HSV。

安装

通过 Composer

composer require phpexperts/color-speaker

使用方法

使用三个标准的 RGB 整数初始化它

$rgbSpeaker = ColorSpeaker::fromRGB(123, 111, 55);
$hexSpeaker = ColorSpeaker::fromHexCode('#7B6F37');
$hslSpeaker = ColorSpeaker::fromHSL(49, 38, 35);

它可以很容易地用作与 CSS 兼容的字符串输出

$csv = ".box { background-color: $rgbSpeaker; }";
// .box { background-color: rgb(123, 111, 55); }
$csvHex = ".box { background-color: $hexSpeaker; }";
// .box { background-color: #7B6F37; }

您还可以直接获取 RGBColor 和 HexColor

$rgbColor = $rgbSpeaker->toRGB();
/*
   (string) $rgbColor === rgb(123, 111, 55);

   SimpleDTO => {
       'red'   => 123,
       'green' => 111,
       'blue'  => 55
   };
*/

有关更多信息,请参阅SimpleDTO 项目

您还可以导出到不同的颜色格式

$hexColor = $rgbSpeaker->toHexCode();
/**
    (string) $hexColor === #7B6F37

    SimpleDTO => {
        'hex' => '#7B6F37
    }
**/

所有颜色都是可序列化的,并且可以轻松转换为 JSON 对象

$linguist = ColorSpeaker::fromHexCode('#7B6F37');
$rgbColor = $linguist->toRGB();
echo json_encode($rgbColor, JSON_PRETTY_PRINT);
/**
{
    "red": 123,
    "green": 111,
    "blue": 55
}
**/

用例

PHPExperts\ColorSpeaker\ColorSpeaker
✔ 可以从 RGBColor 构造
✔ 可以从 HexColor 构造
✔ 可以从 HSLColor 构造
✔ 从 RGB:将只接受 0 到 255 之间的整数(包含 0 和 255)
✔ 从 CSS 十六进制:将只接受以 "#" 符号开始的 3 位或 6 位十六进制颜色字符串
✔ 可以返回 RGBColor
✔ 可以返回 CSSHexColor
✔ 可以返回 HSLColor
✔ 可以输出为 CSS 字符串

PHPExperts\ColorSpeaker\DTOs\RGBColor
✔ 将只接受 0 到 255 之间的整数(包含 0 和 255)
✔ 将只接受文字整数
✔ 可以使用零索引数组构造
✔ 可以输出为 CSS 字符串

PHPExperts\ColorSpeaker\DTOs\CSSHexColor
✔ 可以断言一个字符串是否是有效的 CSS 十六进制颜色
✔ 十六进制代码必须以 "#" 符号开始
✔ 将只接受三位和六位十六进制代码
✔ 可以输出为 CSS 字符串

PHPExperts\ColorSpeaker\DTOs\HSLColor
✔ 将只接受有效的 HSL 几何百分比或百分整数
✔ 可以使用零索引数组构造
✔ 可以用整数构造
✔ 可以输出为 CSS 字符串

测试

phpunit --testdox

贡献者

Theodore R. Smith theodore@phpexperts.pro
GPG 指纹:4BF8 2613 1C34 87AC D28F 2AD8 EB24 A91D D612 5690
首席执行官:PHP Experts, Inc.

https://w3schools.org.cn/colors/colors_converter.asp致以诚挚的感谢。这个出色的颜色转换器使本项目的开发变得容易了 70%!

许可证

MIT 许可证。有关更多信息,请参阅许可证文件