mischiefcollective / colorjizz
Classes for manipulating colors, converting to different formats and finding color harmonies
Installs: 609 852
Dependents: 8
Suggesters: 0
Security: 0
Stars: 286
Watchers: 14
Forks: 33
Open Issues: 6
Requires
- php: >=5.3.10
This package is not auto-updated.
Last update: 2024-12-11 04:29:10 UTC
README
Getting started:
ColorJizz-PHP uses the PSR-0 standards for namespaces, so there should be no trouble using with frameworks like Symfony 2.
Autoloading
An autoloader class is provided for when loading ColorJizz yourself.
First, include the autoloader and call the static register() function.
<?php require_once 'path/to/colorjizz/lib/MischiefCollective/ColorJizz/Autoloader.php'; MischiefCollective\ColorJizz\Autoloader::register(); ?>
Now all ColorJizz classes will be automatically loaded in.
Converting between formats
ColorJizz can convert to and from any of the supported color formats:
<?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 ?>
Any color manipulation or conversion will return a new instance of a color class, therefore your original color objects remains intact.
Color manipulation can be chained together:
<?php use MischiefCollective\ColorJizz\Formats\Hex; echo Hex::fromString('red')->hue(-20)->greyscale(); // 555555 ?>
Any color manipulation will always return the color in the same format unless you're specifically converting the format. For example:
<?php use MischiefCollective\ColorJizz\Formats\RGB; $red = new RGB(255, 0, 0); echo get_class($red->hue(-20)->saturation(2)); // MischiefCollective\ColorJizz\Formats\RGB ?>
Supported formats:
<?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);
Conversion functions:
<?php ->toRGB(); ->toCMY(); ->toCMYK(); ->toHex(); ->toHSV(); ->toCIELab(); ->toCIELCh(); ->toXYZ(); ->toYxy();