随机颜色生成器与色调/饱和度和更多的控制
Random Color Generator with Hue/Saturation and more controls
在这个问题中,我发现了很多有趣的函数来生成随机颜色。
我需要一个随机颜色生成器,接受色相, 饱和度和黑暗范围和我们需要的颜色数量。
实际上我可以写一个随机颜色生成器,但我不太了解颜色数与暗度, 色调和饱和度之间的关系。我想要的功能导出颜色在一个数组。
我还在这里创建了一个jsfiddle文件用于测试:
function get_random_color() {
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.round(Math.random() * 15)];
}
return color;
}
$.each($('div'),function(){
$(this).css('background-color', get_random_color());
});
谢谢
在支持CSS3的浏览器中,不需要将HSL颜色转换为RGB,因为您可以像这样分配它们:
function rand(min, max) {
return min + Math.random() * (max - min);
}
function get_random_color() {
var h = rand(1, 360);
var s = rand(0, 100);
var l = rand(0, 100);
return 'hsl(' + h + ',' + s + '%,' + l + '%)';
}
http://jsfiddle.net/5V8mV/1/使用该算法,您可以轻松地将颜色限制为蓝色色调,例如:http://jsfiddle.net/DH2Bk/
如果您需要RGB转换算法(例如IE8),您可以直接在规格中找到:http://www.w3.org/TR/css3-color/#hsl-color
HOW TO RETURN hsl.to.rgb(h, s, l): SELECT: l<=0.5: PUT l*(s+1) IN m2 ELSE: PUT l+s-l*s IN m2 PUT l*2-m2 IN m1 PUT hue.to.rgb(m1, m2, h+1/3) IN r PUT hue.to.rgb(m1, m2, h ) IN g PUT hue.to.rgb(m1, m2, h-1/3) IN b RETURN (r, g, b) HOW TO RETURN hue.to.rgb(m1, m2, h): IF h<0: PUT h+1 IN h IF h>1: PUT h-1 IN h IF h*6<1: RETURN m1+(m2-m1)*h*6 IF h*2<1: RETURN m2 IF h*3<2: RETURN m1+(m2-m1)*(2/3-h)*6 RETURN m1
编辑:
我刚找到一个很好的JS库与更多的选项https://github.com/davidmerfield/randomColor
相关文章:
- JS编译器/包管理器,用于版本控制
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 三星智能电视应用程序;Brightcove示例应用程序远程控制问题
- 如何控制组件'的createContent函数被激发
- 节点协同与生成器和Promise并行流量控制
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- 使用:new Image()控制加载html.src=html_URL
- 传单缩放控制位置错误
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 使用jQuery控制来自图像的音频
- CORS:否'访问控制允许来源'header-但是php设置头文件
- "访问控制允许起源”;通过javascript从http页面调用同一网站的httpsurl时出现问题
- 为什么可以't我将检索到的文档分配给控制台中的变量
- CORS:访问控制允许原点不等于提供的原点
- javascript window.open将无法在Chrome控制台上工作
- onmousedown更改光标;可能需要控制事件冒泡
- 飞行前响应中的访问控制允许标头不允许Angularjs请求标头字段访问控制允许标题
- django没有访问控制允许删除原始标头
- 随机颜色生成器与色调/饱和度和更多的控制