Package Exports
- kolor
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (kolor) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
kolor
kolor is a useful color manipulation tool in JavaScript.
It provides color string parsing, format converting and basic color adjusting methods.
Supported color formats:
- RGB(A)
- HSL(A)
- HSV(A)
Usage
-
Just include
kolor.js
in your HTML document:<script src="kolor.js"></script>
Core functionalities are provided by the
kolor
object in global scope. Working with RequireJS (or other AMD compatible loaders)
Just require the named module
kolor
:require(['kolor'], function(kolor) { // Starts here });
Working with npm
npm install kolor
Creating a color object
Colors may be created in the following ways:
By parsing a given string value
var red = kolor('red'), //color name green = kolor('rgb(0, 255, 0)'), //valid CSS expressions blue = kolor('rgba(0%, 0%, 100%, 1)'), //more valid CSS expressions cyan = kolor('hsv(180, 1, 1)'), //not supported by CSS but has a similar syntax magenta = kolor('#ff00ff'), //hex RGB value yellow = kolor('ff00ff'), //hex RGB value without '#' purple = kolor('hwb(reddish(50%) purple, 50%, 50%)'); // named hues
Color names are defined by W3C SVG color names used in CSS3.
Names or hex values will generate RGB colors.
By specifying a color format
var red = kolor.rgb(255, 0, '0%'), //can use either number or percent string green = kolor.rgb([0, 255, 0]), //using array blue = kolor.rgb({ r: 0, g: 0, b: 255 }); //using object
By cloning another color object
var red = kolor('red'), newRed = kolor(red);
Created colors are in certain formats and can be converted to other formats.
Accessors
kolor provides jQuery-like accessors for color objects.
color.red(128); //altering 'red' channel
color.r(255); //shorthand method is also available
console.log(color.r()); //255
Setters return color object itself so we can do a bit of chaining:
color.r(255).g(128).b(128); //making it lighter
Value restriction
When setting a value of a channel, the specified value will be automatically restricted within a valid range according to the channel configuration.
console.log(rgbColor.r(300).r()); //255
console.log(hslColor.h(-10).h()); //350
console.log(hsvColor.s('200%').s()); //1
Format conversion
Once a color object is created, it can be easily converted to other formats. After each conversion, a new color object will be produced and returned.
var hsvColor = rgbColor.hsv().h(120); //converts and sets
String output
console.log(red.hex()); //'#ff0000'
console.log(red.css()); //'rgb(255, 0, 0)'
Color modification
A color can be modified into another in many ways. After each modification, a new color object is produced and returned.
color = red.spin(180); //spins the color wheel for 180 degrees
color = red.mix(blue, 0.3); //mixes two colors with a given proportion.
color = red.lighten(0.2); //gets a lighter color
For full features and API documentation, please read this documentation generated by Docco.