Skip to content

🎨 Minimalistic color converter for RGB, HSV, HSL, CMYK, HEX and CSS strings

License

Notifications You must be signed in to change notification settings

netbeast/colorsys

Repository files navigation

colorsys

CircleCI npm version

Colorsysis a simple javascript color conversion library that allows bidirectional color conversion. Lightweight,immutable.With support for RGB, HEX, HSV, HSL and CMYK and CSS strings.

install

With npm

npm install colorsys

Load on browser or copy paste into your code

<script src= "https://unpkg /[email protected]/colorsys.js" ></script>

example

varcolorsys=require('colorsys')
consthsl=colorsys.parseCss('hsl(0, 0%, 100%)')// { h: 0, s: 0, l: 100 }
colorsys.hsl2Hex(hsl)// '#ffffff'
consthsv=colorsys.rgb_to_hsv({r:255,g:255,b:255})
colorsys.stringify(hsv)// 'hsv(0, 0%, 100%)'
// Parsing an hex string will result in a RGB object!
colorsys.parseCss('#ff00ff')// { r: 255, g: 0, b: 255 }

For more examples please visit thetests

API

For any method the input arguments can be an object(r: 50, g: 100, b: 0}or a set of integers50, 100, 0.You have aliases in both snake_case (hex_to_hsl) orrgb2Hex,hsv2Rgbform.

  • colorsys.parseCss(color: string)will parse a color string in an object with the same keys.
  • colorsys.stringify(color: Object)will output a valid css string.
  • colorsys.rgb_to_hsl({ r: 255, g: 255, b: 255 }) => { h: 0, s: 0, l: 100 }
  • colorsys.rgb_to_hsv({ r: 255, g: 255, b: 255 }) => { h: 0, s: 0, v: 100 }

Try with any combination. Look at thesourceto double check!

  • colorsys.hslToRgb
  • colorsys.hsvToRgb
  • colorsys.rgbToHex
  • colorsys.hexToRgb
  • colorsys.hsvToHex
  • colorsys.hexToHsv
  • colorsys.hslToHex
  • colorsys.hexToHsl
  • colorsys.rgb2cmyk
  • colorsys.cmyk2rgb

Other methods:

  • Generate a random hex color:colorsys.random()
  • Rotate a color hue:colorsys.rotateHue(120, 120)will output240. You can also use HSL or HSV objects asrotateHue(hsv, 120)will output an object containing{h: 240}.

There are some formats missing likeYIQ,HWB,ansiiandansi16.Please help us to complete this library making a pull request.

Contact

  • Mail us: staff [at] netbeast.co
  • Report a bug or enter discussion atissues
  • Twitter

This repo is shared with ❤️ from Netbeast. This package powersYeti Smart Homeand is used in production.

works with yeti