【发布时间】:2025-12-03 04:55:01
【问题描述】:
对于给定的十六进制颜色代码,如何将其转换为 a=0.97 且渲染颜色与初始十六进制颜色相同的rbga 颜色代码?
换句话说,如果我有#ccc,我需要一个等效的rgba,它仍然呈现与#ccc 相同的颜色,但具有透明度。
【问题讨论】:
-
半透明元素的感知颜色取决于它的顶部:颜色、多种颜色、图像等。如果其下方元素的背景颜色是恒定的,see here
对于给定的十六进制颜色代码,如何将其转换为 a=0.97 且渲染颜色与初始十六进制颜色相同的rbga 颜色代码?
换句话说,如果我有#ccc,我需要一个等效的rgba,它仍然呈现与#ccc 相同的颜色,但具有透明度。
【问题讨论】:
要转换为 rgba,您必须这样做:
1- 将您的十六进制颜色代码分成 3 个部分
cccccc => cc(r)|cc(g)|cc(b)
2- 对于每个部分,使用 parseInt 将其转换为 int
r = parseInt("cc", 16)
g = parseInt("cc", 16)
b = parseInt("cc", 16)
3- 将所需的 alpha 值添加到最终的 rgba 代码中
【讨论】: