/* ## 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 ] } }