basekit / colorworks

用于操作颜色、转换不同格式和查找颜色和谐的类

1.0.0 2017-06-05 13:51 UTC

This package is not auto-updated.

Last update: 2024-09-20 21:00:29 UTC


README

# 开始使用

ColorWorks使用PSR-0标准进行命名空间,因此在使用如Symfony 2等框架时应该不会有问题。

### 自动加载

当自己加载ColorWorks时,提供了一个自动加载类。

首先,包含自动加载类并调用静态的register()函数。

<?php
require_once 'path/to/colorworks/lib/ColorWorks/Autoloader.php';
ColorWorks\Autoloader::register();
?>

现在所有ColorWorks类都将自动加载。

### 之间转换格式

ColorWorks可以将颜色转换为支持的任何格式,也可以从任何支持的格式转换颜色

<?php
use ColorWorks\Formats\Hex;

$red_hex = new Hex(0xFF0000);
$red_cmyk = $hex->toCMYK();

echo get_class($red_cmyk); // ColorWorks\Formats\CMYK
echo $red_cmyk; // 0,1,1,0
?>

任何颜色操作或转换都会返回一个颜色类的新实例,因此你的原始颜色对象保持不变。

颜色操作可以链接在一起

<?php
use ColorWorks\Formats\Hex;

echo Hex::fromString('red')->hue(-20)->greyscale(); // 555555
?>

除非您明确地转换格式,否则任何颜色操作都会以相同的格式返回颜色。例如

<?php
use ColorWorks\Formats\RGB;

$red = new RGB(255, 0, 0);
echo get_class($red->hue(-20)->saturation(2)); // ColorWorks\Formats\RGB
?>

### 支持的格式

<?php
new RGB(r, g, b);
new CMY(c, m, y);
new CMYK(c, m, y, k);
new Hex(0x000000);
new HSV(h, s, v);
new CIELab(l, a, b);
new CIELCh(l, c, h);
new XYZ(x, y, z);
new Yxy(Y, x, y);

### 转换函数

<?php
->toRGB();
->toCMY();
->toCMYK();
->toHex();
->toHSV();
->toCIELab();
->toCIELCh();
->toXYZ();
->toYxy();