我的 fiddle - http://jsbin.com/pitu/1/edit
我想尝试一个简单的十六进制到 rgba 的转换。我使用过的浏览器默认使用 rgb 渲染颜色,因此当使用 farbtastic 颜色选择器时,我通过获取十六进制值生成的背景颜色将十六进制值转换为 rgb(默认情况下为 rgb = 简单转换)
我尝试将 )
符号替换为 , 1)
,但这没有用,所以我去看看如何将 rgb 转换为 rgba,然后我仍然有问题。
jquery
$('.torgb').val($('#color').css('background-color'));
$('.torgba').val().replace(/rgb/g,"rgba");
目标
编辑:
TinyColor是一个很棒的颜色处理 js 库,可以完成我在这里想要的一切以及更多。我想你们可能想试一试! - https://github.com/bgrins/TinyColor
最佳答案
//If you write your own code, remember hex color shortcuts (eg., #fff, #000)
function hexToRgbA(hex){
var c;
if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)){
c= hex.substring(1).split('');
if(c.length== 3){
c= [c[0], c[0], c[1], c[1], c[2], c[2]];
}
c= '0x'+c.join('');
return 'rgba('+[(c>>16)&255, (c>>8)&255, c&255].join(',')+',1)';
}
throw new Error('Bad Hex');
}
hexToRgbA('#fbafff')
/* returned value: (String)
rgba(251,175,255,1)
*/
关于javascript - 将十六进制转换为 RGBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21646738/