在JavaScript中使用HTML颜色和透明度

在JavaScript中使用HTML颜色和透明度,javascript,html,css,colors,Javascript,Html,Css,Colors,考虑这一点: timeSeries.options.fillStyle = 'rgba(0, 255, 0, 0.2)'; 在本例中,我们使用颜色组件和透明度。然而,从javascript的角度来看,表达式的右侧是一个字符串。只是碰巧,当我们稍后将这个字符串指定给,比如说,它知道如何解释css颜色值 但是让我们假设我们的程序需要使用颜色。例如,更改颜色rgb组件或不透明度 在javascript中,我们当然可以将字符串解析为单个组件,将它们转换为具有数字属性的对象,处理这些属性,然后将对象转换

考虑这一点:

timeSeries.options.fillStyle = 'rgba(0, 255, 0, 0.2)';
在本例中,我们使用颜色组件和透明度。然而,从javascript的角度来看,表达式的右侧是一个字符串。只是碰巧,当我们稍后将这个字符串指定给,比如说,它知道如何解释css颜色值

但是让我们假设我们的程序需要使用颜色。例如,更改颜色rgb组件或不透明度

在javascript中,我们当然可以将字符串解析为单个组件,将它们转换为具有数字属性的对象,处理这些属性,然后将对象转换回css颜色字符串。这听起来需要做很多工作

由于我在javascript方面没有太多的实际操作经验,我不知道什么是使在javascript/typescript中使用颜色更容易的常见习惯用法和模式

这就是我想知道的。假设我想将
timeSeries.options.fillStyle
的不透明度增加0.1。实现这一目标最简单的方法是什么

在javascript中,我们当然可以将字符串解析为单个组件,将它们转换为具有数字属性的对象,处理这些属性,然后将对象转换回css颜色字符串。这听起来需要做很多工作

这并不是JavaScript本身的限制,它只是Web API处理颜色的方式。有不同的方式来表示颜色(十六进制、rgb、hsl),但最终它们都实现为
DOMString
。如果您想单独调整颜色的属性,这里唯一的选择就是完全按照您所概述的那样:序列化和反序列化对象


幸运的是,已经有一些库为您提供了这种行为,例如。

听起来像是您想要的。@AndréDion看起来不错,您想从这条评论中得出一个答案吗?