使用JavaScript中的HTML颜色和透明度
Working with HTML colours and transparencies in JavaScript
考虑一下:
timeSeries.options.fillStyle = 'rgba(0, 255, 0, 0.2)';
在这个例子中,我们使用的是颜色成分和透明度。然而,从javascript的角度来看,表达式的右侧是一个字符串。这样的话,当我们稍后将这个字符串分配给画布上下文fillStyle时,它知道如何解释css颜色值。
但我们可以说,我们的程序需要使用颜色。比如,改变颜色rgb组件或不透明度。
在javascript中,我们当然可以将字符串解析为单个组件,将它们转换为具有数字属性的对象,使用这些属性,然后将对象转换回css颜色字符串。这听起来工作量很大。
由于我在javascript方面没有太多的实践经验,我不知道哪些常见的习惯用法和模式使在javascript/typescript中使用颜色更容易。
这就是我想知道的。假设我想将timeSeries.options.fillStyle
的不透明度增加0.1。实现这一点最简单的方法是什么?
在javascript中,我们当然可以将字符串解析为单个组件,将它们转换为具有数字属性的对象,使用这些属性,然后将对象转换回css颜色字符串。这听起来工作量很大。
这并不是JavaScript本身的限制,它只是Web API处理颜色的方式。有不同的方法来表示颜色(十六进制、rgb、hsl),但最终它们都被实现为DOMString
。如果你想单独调整一种颜色的属性,你唯一的选择就是按照你的要求:序列化和反序列化一个对象。
幸运的是,有一些库已经为您提供了这种行为,比如TinyColor。
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 使用JavaScript中的HTML颜色和透明度
- three.js CanvasRenderer-设置对象的初始颜色和透明度纹理
- 将鼠标悬停在图像上,图像的不透明度和图像下方标题的颜色会发生变化..同样,当标题变成两行时,它会破坏格式
- Highcharts设置背景颜色和不透明度
- 如何在高图表中更改单个气泡的颜色和不透明度
- 如何将透明度信息添加到十六进制颜色代码
- 更改相位器精灵的某些颜色的不透明度
- 如何在滚动时仅更改导航的背景颜色,而不更改文本和徽标不透明度
- 鼠标悬停时更改背景颜色不透明度
- 如何组合两个单独的Uint8Array的颜色数据(JPEG)和透明度数据(PNG)
- 角度材质-更改对比度颜色不透明度
- 如何使用javascript更改背景(而非文本)颜色不透明度
- 我已经将背景颜色设置为白色,但是父元素的不透明度如何影响它
- 平滑动画背景颜色不透明度后,基础图像加载
- 改变背景颜色不透明度与时间间隔
- 使用HTML5 Canvas绘制透明度乘以颜色的图像
- Angular-chart.js条形图,颜色100%不透明度
- 在Famo.us中转换颜色(或非转换/不透明度CSS属性)的正确方式
- 在十六进制颜色值的情况下,使用jquery或javascript设置边框的不透明度