栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将8位十六进制颜色转换为RGB颜色?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将8位十六进制颜色转换为RGB颜色?

我已经制作了一个快速的JSfiddle表格,可以将8位十六进制代码转换为CSS rgba值;)

基础很简单-将您提供的字符串分成两位数的一部分,并转换为alpha通道的百分比率和RGB通道的小数位。标记如下:

<form action="">    <select id="format">        <option value="rgba">RGBa: RRGGBBAA</option>        <option value="argb">aRGB: AARRGGBB</option>    </select>    <input type="text" id="hex" value="#949494E8" />    <button>Convert</button></form><p id="rgba"></p>

逻辑:

// Remove hashvar hex = $('#hex').val().slice(1);// Split to four channelsvar c = hex.match(/.{1,2}/g);// Function: to decimals (for RGB)var d = function(v) {    return parseInt(v, 16);};// Function: to percentage (for alpha), to 3 decimalsvar p = function(v) {    return parseFloat(parseInt((parseInt(v, 16)/255)*1000)/1000);};// Check format: if it's argb, pop the alpha value from the end and move it to frontvar a, rgb=[];if($('#format').val() === 'argb') {    c.push(c.shift());}// Convert array into rgba valuesa = p(c[3]);$.each(c.slice(0,3), function(i,v) {    rgb.push(d(v));});

转换的要点如下:

  • 将十六进制RGB通道转换为十进制值。这是通过使用完成的
    parseInt(hexValue, 16)
  • 将十六进制的Alpha通道转换为百分比。只需将其转换为十进制值(请参见上文),然后将其相对值计算为255,即可完成此操作。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/416227.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号