我正在尝试使用 HTML5 画布,我想从我的 CSS 中获取 fillStyle 的颜色,但也需要一些透明度。当我使用 jQuery 读取 CSS 样式时,返回的是 rgb 值而不是十六进制。
fillColor = $(".myClass").css("background-color"); // return rgb(x, x, x)
起初看起来我不需要再次转换它对我来说很方便,但我发现我无法将 alpha 添加到 RGB 值,所以我必须将其转换为 Hex,然后将其转换为带有 alpha 的 RGBA价值。
function convertHexToRGB(hex)
{
var red = hex.substr(1, 2), green = hex.substr(3, 2), blue = hex.substr(5, 2), alpha = arguments[1];
color = "rgba(" + parseInt(red, 16) + "," + parseInt(green, 16) + "," + parseInt(blue, 16) + "," + alpha + ")";
return color;
}
现在让我的代码看起来很臭而且效率低下,有没有办法将 alpha 值添加到 RGB 值。或者一些将RGB转换为RGBA的函数?