以编程方式为 Typescript 中的颜色添加不透明度

ati*_*tik 1 alpha colors opacity typescript

我一直试图找到一种方法来为颜色添加不透明度并在 Typescript 中检索结果颜色的十六进制代码。

是否可以在 Typescript 中执行以下操作:Color('#A25297').alpha(0.65)?

Osc*_*Paz 6

好吧,如果你对它进行编程,它就是......

function addAlpha(color: string, opacity: number): string {
    // coerce values so ti is between 0 and 1.
    const _opacity = Math.round(Math.min(Math.max(opacity || 1, 0), 1) * 255);
    return color + _opacity.toString(16).toUpperCase();
}
addAlpha('FF0000', 1); // returns 'FF0000FF'
addAlpha('FF0000', 0.5); // returns 'FF000080'
Run Code Online (Sandbox Code Playgroud)

当然,您可以color通过使用正则表达式检查格式是否正确来改进此功能。