0
我正在嘗試使用HTML5畫布,並且我想從我的CSS中獲取fillStyle的顏色,但也使用了一些透明度。當我使用jQuery讀取CSS樣式時,會返回rgb值而不是十六進制。將RGB轉換爲RGBA
fillColor = $(".myClass").css("background-color"); // return rgb(x, x, x)
起初它看起來是方便易,我認爲我不需要再次轉換,但我發現我不能阿爾法添加到RGB值,所以我必須把它轉換成十六進制,然後將其轉換爲帶有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;
}
現在,我的代碼看起來很臭,效率低下,有沒有辦法給RGB值添加一個alpha值。或者一些將RGB轉換爲RGBA的功能?
這是我在做什麼,我有一個覆蓋畫布,用半透明的填充區域突出的背景圖像的特定區域。不透明值僅用於畫布,不用於CSS。無論如何,我需要的是將Alpha值添加到存在的RGB值。不檢索Alpha值。 – 2012-03-28 22:11:21