colorsea
A color tool library written in Typescript, you can use it to convert color spaces, and operate on colors like LESS/SASS ( darken/lighten, saturate/desaturate, spin, mix), and color difference query. 颜色工具库,支持颜色空间的转换、各种颜色操作、多种色差查询, 支持中国色、日本色的查询
373,523
16
| Install | |
|---|---|
npm install colorsea |
|
| Latest Version: | 1.2.2 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Jun 22, 2024 |
| Links: | GitHub · npm |
Maintainer: waterbeside
COLORSEA
For detailed documents, please click here
About
colorsea.js is a tiny color tool library written in Typescript.
- You can use it to convert color spaces (
RGB,HSL,HSV,HSI,HWB,XYZ,LAB,LCH,xyY), - Adjust the color like LESS/SASS, such as
darken/lighten,saturate/desaturate,spin,fadeIn/fadeOut,mixand other methods, easy to use. - Support
CMC(l:c),CIE2000,CIE1994,CIE1976color difference queries. - Support to use
X11,Chinese Traditional Color,Japanese Traditional Colortypes of color names to get the color
Quick Start
Installation
npm install colorsea
Import & Use
Import
ES Module
import colorsea from 'colorsea'
CommonJs
const colorsea = require('colorsea')
Browser
<script src="path/to/colorsea.js"></script>
Color space conversion
// ----- color conversion
colorsea('#ff0000').rgb() // [255, 0, 0]
colorsea('#ff0000', 50).rgba() // [255, 0, 0, 50]
// The colorsea() function can create a Color instance
const color = colorsea('#405060')
color.rgba() // [255, 0, 0, 50]
color.xyz() // [7.09, 7.67, 12.17]
color.lab() // [33.29, -1.94, -11.36]
// Convert from other color spaces
colorsea.xyz(7.09, 7.67, 12.17).rgb() // [64, 80, 96]
colorsea.hsl(210, 20, 31.37).rgb() // [64, 80, 96]
// ... Other color spaces are similar
Color operations
// ---- Color operations
const color = colorsea('#ffffff')
const newColor = color.darken(10) // All operations will return a new Color instance object
newColor.hex() // #e6e6e6
colorsea('#000').lighten(10).hex() // #1a1a1a
colorsea('#ff0000').spin(180).hex() // #00ffff
colorsea.hsl(80, 90, 20).saturate(10).hsl() // [80, 100, 20]
colorsea.hsl(80, 90, 20).desaturate(10).hsl() // [80, 80, 20]
colorsea('#776600').fadeOut(10).rgba() // [119, 102, 0, 90]
const color1 = new Color('#ff0000')
const color2 = new Color('#0000ff')
const color = color1.mix(color2, 20)
color.hex() // #cc0033
Color difference calculation
const color1 = colorsea.lab(80, 30, 120) // Standard color (reference color)
const color2 = colorsea.lab(79, 28, 100) // Sample color
// CMC(1:1)
color1.deltaE(color2, 'CMC') // 5.754...
// CMC(2:1) formula, just set the weight factor l to 2 (c defaults to 1)
color1.deltaE(color2, 'CMC', { l: 2 }) // 5.719...
// CIE2000
color1.deltaE(color2, 'CIE2000') // 3.6815...
// CIE1994
color1.deltaE(color2, 'CIE1994') // 3.3725...
// CIE1976
color1.deltaE(color2, 'CIE1976') // 20.1246...
Use color names
import colorsea from 'colorsea'
import x11 from 'colorsea/colors/x11'
// Load X11 color names
colorsea.useNames(x11)
// At this point you can directly use the X11 color name to create the color instance
colorsea('Aqua') // color: #00ffff
colorsea('Aquamarine') // color: #7fffd4
import chinese from 'colorsea/colors/chinese' // Chinese traditional color
import nippon from 'colorsea/colors/nippon' // Japanese traditional color
// load both
colorsea.useNames(chinese).useNames(nippon)
// use
colorsea('山梗紫') // color: #61649F
colorsea('水がき') // color: #B9887D
For more detailed usage, please refer to the documentation: https://colorsea.js.org
Reference
Related Packages
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 1.2.2 | ^3.2.45 | MIT | |
| 1.2.1 | ^3.2.45 | MIT | |
| 1.2.0 | ^3.2.45 | MIT | |
| 1.1.0 | ^3.2.45 | MIT | |
| 1.0.1 | ^3.2.45 | MIT | |
| 0.3.3 | ^3.2.45 | MIT | |
| 0.3.2 | ^3.2.45 | MIT | |
| 0.3.1 | ^3.2.45 | MIT | |
| 0.3.0 | MIT | ||
| 0.2.1 | MIT | ||
| 0.2.0 | MIT | ||
| 0.1.0 | MIT | ||
| 0.0.8 | MIT | ||
| 0.0.7 | MIT | ||
| 0.0.6 | MIT | ||
| 0.0.5 | MIT | ||
| 0.0.4 | MIT | ||
| 0.0.3 | MIT | ||
| 0.0.2 | MIT | ||
| 0.0.1 | MIT |