首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Javascript或jQuery中获取色调?

在Javascript或jQuery中获取色调?
EN

Stack Overflow用户
提问于 2017-02-09 04:46:49
回答 2查看 2.2K关注 0票数 4

JavascriptjQuery中,有没有一种方法可以获取颜色的所有阴影,然后将值返回到array中?非常感谢。

类似于:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-09 04:53:28

你是说像这样的东西吗?

代码语言:javascript
复制
var r = 40 % 256;
var g = 40 % 256;
var b = 50 % 256;
var result = [];

for(var i = 0; i < 7; i++)
{
    r += 33;
    g += 33;
    b += 33;
    result.push(r + "," + g + "," + b);
}
  
console.log(result);

票数 6
EN

Stack Overflow用户

发布于 2017-02-09 08:30:37

In color theory,要获得一种颜色的shade,你需要减少它的亮度,而要获得一种颜色的tint,你需要增加它的亮度。我已经创建了a library,它允许您使用HSL颜色模型。使用此颜色模型,您可以采用基色并更改其色调、亮度或饱和度。在这里,您可以使用getTints方法实现与您的目的类似的功能:

代码语言:javascript
复制
const container = document.querySelector("#container");
const tints = ColorTranslator.getTints("#93625D", 15);

tints.forEach((c) => {
  const box = document.createElement("div");
  box.style.backgroundColor = c;
  container.appendChild(box);
});

console.log(JSON.stringify(tints));
代码语言:javascript
复制
html,
body {
  height: 100%;
}

#container {
  display: flex;
  height: 100%;
}

#container div {
  height: 100%;
  width: 100%;
}
代码语言:javascript
复制
<script src="https://unpkg.com/colortranslator@1.7.0/dist/colortranslator.web.js"></script>

<div id="container">
</div>

这里有另一个示例,它同时更改颜色的饱和度和明度,以获得每个饱和度的所有色调:

代码语言:javascript
复制
const container = document.querySelector("#container");
const color = new ColorTranslator('hsl(25,100%,50%)');
let box = null;

//---Create elements
for (let row = 0; row < 10; row++) {

  for (let col = 0; col < 10; col++) {

    color
      .setS(row * 10)
      .setL(col * 5 + 30);

    box = document.createElement("div");
    box.style.background = color.HEX;
    box.innerText =
      `R:${color.R}
       G:${color.G}
       B:${color.B}`;
    container.appendChild(box);

  }

}
代码语言:javascript
复制
html,
body {
  height: 500px;
}

body {
  margin: 0;
  padding: 0;
  position: relative;
}

#container {
  display: flex;
  flex-wrap: wrap;
  height: 500px;
  margin: 0 auto;
  position: relative;
  width: 500px;
}

#container div {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  font-family: Arial;
  font-size: 10px;
  height: 10%;
  justify-content: center;
  text-align: center;
  width: 10%;
}
代码语言:javascript
复制
<script src="https://unpkg.com/colortranslator@1.7.0/dist/colortranslator.web.js"></script>

<div id="container">
</div>

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

https://stackoverflow.com/questions/42123270

复制
相关文章

相似问题

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