首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery颜色插件HSL模型

jQuery颜色插件HSL模型
EN

Stack Overflow用户
提问于 2011-10-20 19:24:08
回答 1查看 665关注 0票数 3

当我试图用jQuery Color做一个简单的HSL到RGB的转换时,

代码语言:javascript
复制
$.colors('hsl(100,100%,50%)').toString('rgb');

我注意到HSL结构中的一些奇怪之处: Hue可以设置为从0到100,它不接受这个范围之外的值,所以在理论上是hsl(100,100%,50%) === hsl(0,100%,50%) === red

但在转换为RGB后,我得到的是hsl(100,100%,50%) === redhsl(0,100%,50%) === yellowish-green,如果色调是理论上的1-360,这将是真的。

这是怎么回事,我如何使用HSL获得完整的颜色圆圈?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-20 21:13:28

看看the source,色调的预期范围确实是0-360。

“色调可以设置为从0到100,它不接受超出此范围的值”

这是因为在validation code中有一个错误的。这一行应该是:

代码语言:javascript
复制
if ((a == 1 && result[a] <= 360) || (a > 1 && result[a] <= 100)) {

a[1]保存第一个正则表达式模式(匹配第一个参数,H)的捕获值,而不是a[0]。为了说明这一点,这里有一个难题:http://jsfiddle.net/vMLZ2/

p.s.我已经提交了一个带有修复的pull request。同时,此演示展示了建议的修改按预期工作:http://jsfiddle.net/Gh9kQ/

P.P.S pull request has been merged,因此应该在最新版本的代码中修复。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7835200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档