javascript - 将十六进制转换为 RGBA

标签 javascript jquery colors

我的 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");

目标
enter image description here

编辑:

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/

相关文章:

javascript - 将 Y 轴移动到另一侧后的 Highcharts reflow()

javascript - jquery .focus(func) 多次执行过程

java - 返回标准 Java 颜色的颜色类

javascript - 在 setInterval 时间中使用 JSON 变量

javascript - 删除我网页中 "tab"按钮的使用

Javascript,合并两个排序数组 : Can someone please tell me why this isn't giving the correct mergeSort?

javascript - 一个 ajax 调用中有 2 个 url?

jquery - 元素不可点击, ruby

linux - 在 gnuplot 中绘制多个图形的脚本

java - Primefaces5 如何更改图表中的背景颜色(纯 java,无 jqplot)