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

1.0.0 2016-11-14 16:58 UTC

This package is not auto-updated.

Last update: 2024-09-18 03:22:26 UTC


README

#开始使用

ColorJizz-PHP 使用 PSR-0 标准进行命名空间,因此在使用像 Symfony 2 这样的框架时应该没有问题。

###自动加载

提供自动加载类,以便自己加载 ColorJizz。

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

<?php
require_once 'path/to/colorjizz/lib/MischiefCollective/ColorJizz/Autoloader.php';
MischiefCollective\ColorJizz\Autoloader::register();
?>

现在所有 ColorJizz 类将被自动加载。

###格式转换

ColorJizz 可以在支持的任何颜色格式之间进行转换

<?php
use MischiefCollective\ColorJizz\Formats\Hex;

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

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

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

颜色操作可以串联在一起

<?php
use MischiefCollective\ColorJizz\Formats\Hex;

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

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

<?php
use MischiefCollective\ColorJizz\Formats\RGB;

$red = new RGB(255, 0, 0);
echo get_class($red->hue(-20)->saturation(2)); // MischiefCollective\ColorJizz\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();