| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- /*
- ## Color
- http://llllll.li/randomColor/
- A color generator for JavaScript.
- randomColor generates attractive colors by default. More specifically, randomColor produces bright colors with a reasonably high saturation. This makes randomColor particularly useful for data visualizations and generative art.
- http://randomcolour.com/
- var bg_colour = Math.floor(Math.random() * 16777215).toString(16);
- bg_colour = "#" + ("000000" + bg_colour).slice(-6);
- document.bgColor = bg_colour;
-
- http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/
- Creating random colors is actually more difficult than it seems. The randomness itself is easy, but aesthetically pleasing randomness is more difficult.
- https://github.com/devongovett/color-generator
- http://www.paulirish.com/2009/random-hex-color-code-snippets/
- Random Hex Color Code Generator in JavaScript
- http://chancejs.com/#color
- chance.color()
- // => '#79c157'
- chance.color({format: 'hex'})
- // => '#d67118'
- chance.color({format: 'shorthex'})
- // => '#60f'
- chance.color({format: 'rgb'})
- // => 'rgb(110,52,164)'
- http://tool.c7sky.com/webcolor
- 网页设计常用色彩搭配表
-
- https://github.com/One-com/one-color
- An OO-based JavaScript color parser/computation toolkit with support for RGB, HSV, HSL, CMYK, and alpha channels.
- API 很赞
- https://github.com/harthur/color
- JavaScript color conversion and manipulation library
- https://github.com/leaverou/css-colors
- Share & convert CSS colors
- http://leaverou.github.io/css-colors/#slategray
- Type a CSS color keyword, #hex, hsl(), rgba(), whatever:
- 色调 hue
- http://baike.baidu.com/view/23368.htm
- 色调指的是一幅画中画面色彩的总体倾向,是大的色彩效果。
- 饱和度 saturation
- http://baike.baidu.com/view/189644.htm
- 饱和度是指色彩的鲜艳程度,也称色彩的纯度。饱和度取决于该色中含色成分和消色成分(灰色)的比例。含色成分越大,饱和度越大;消色成分越大,饱和度越小。
- 亮度 brightness
- http://baike.baidu.com/view/34773.htm
- 亮度是指发光体(反光体)表面发光(反光)强弱的物理量。
- 照度 luminosity
- 物体被照亮的程度,采用单位面积所接受的光通量来表示,表示单位为勒[克斯](Lux,lx) ,即 1m / m2 。
- http://stackoverflow.com/questions/1484506/random-color-generator-in-javascript
- var letters = '0123456789ABCDEF'.split('')
- var color = '#'
- for (var i = 0; i < 6; i++) {
- color += letters[Math.floor(Math.random() * 16)]
- }
- return color
-
- // 随机生成一个无脑的颜色,格式为 '#RRGGBB'。
- // _brainlessColor()
- var color = Math.floor(
- Math.random() *
- (16 * 16 * 16 * 16 * 16 * 16 - 1)
- ).toString(16)
- color = "#" + ("000000" + color).slice(-6)
- return color.toUpperCase()
- */
- var Convert = require('./color_convert')
- var DICT = require('./color_dict')
- module.exports = {
- // 随机生成一个有吸引力的颜色,格式为 '#RRGGBB'。
- color: function(name) {
- if (name || DICT[name]) return DICT[name].nicer
- return this.hex()
- },
- // #DAC0DE
- hex: function() {
- var hsv = this._goldenRatioColor()
- var rgb = Convert.hsv2rgb(hsv)
- var hex = Convert.rgb2hex(rgb[0], rgb[1], rgb[2])
- return hex
- },
- // rgb(128,255,255)
- rgb: function() {
- var hsv = this._goldenRatioColor()
- var rgb = Convert.hsv2rgb(hsv)
- return 'rgb(' +
- parseInt(rgb[0], 10) + ', ' +
- parseInt(rgb[1], 10) + ', ' +
- parseInt(rgb[2], 10) + ')'
- },
- // rgba(128,255,255,0.3)
- rgba: function() {
- var hsv = this._goldenRatioColor()
- var rgb = Convert.hsv2rgb(hsv)
- return 'rgba(' +
- parseInt(rgb[0], 10) + ', ' +
- parseInt(rgb[1], 10) + ', ' +
- parseInt(rgb[2], 10) + ', ' +
- Math.random().toFixed(2) + ')'
- },
- // hsl(300,80%,90%)
- hsl: function() {
- var hsv = this._goldenRatioColor()
- var hsl = Convert.hsv2hsl(hsv)
- return 'hsl(' +
- parseInt(hsl[0], 10) + ', ' +
- parseInt(hsl[1], 10) + ', ' +
- parseInt(hsl[2], 10) + ')'
- },
- // http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/
- // https://github.com/devongovett/color-generator/blob/master/index.js
- // 随机生成一个有吸引力的颜色。
- _goldenRatioColor: function(saturation, value) {
- this._goldenRatio = 0.618033988749895
- this._hue = this._hue || Math.random()
- this._hue += this._goldenRatio
- this._hue %= 1
- if (typeof saturation !== "number") saturation = 0.5;
- if (typeof value !== "number") value = 0.95;
- return [
- this._hue * 360,
- saturation * 100,
- value * 100
- ]
- }
- }
|