为了账号安全,请及时绑定邮箱和手机立即绑定

在js中从RGBA获取十六进制

在js中从RGBA获取十六进制

潇湘沐 2022-10-27 14:15:12
如何将给定的 RGBA 转换为十六进制,假设它们中的每一个的值作为单独的变量 r、g、b、a 给出,其中 r、g 和 b 是 1-225,a 在 javascript 中是 0-1。请为它定义一个函数。
查看完整描述

2 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

如果您不需要 rgbA 中的“a”,请告诉我,我将删除它的支持。


但基本上,您只需将每个整数转换为十六进制字符串,并在需要时添加 0。


function rgbaToHex (r,g,b,a) {

  var outParts = [

    r.toString(16),

    g.toString(16),

    b.toString(16),

    Math.round(a * 255).toString(16).substring(0, 2)

  ];


  // Pad single-digit output values

  outParts.forEach(function (part, i) {

    if (part.length === 1) {

      outParts[i] = '0' + part;

    }

  })


  return ('#' + outParts.join(''));

}


alert(rgbaToHex(255,34,56,1));


查看完整回答
反对 回复 2022-10-27
?
不负相思意

TA贡献1777条经验 获得超10个赞

RGB到十六进制转换


function HexFunc(c) {

  var hex = c.toString(16);

  return hex.length == 1 ? "0" + hex : hex;

}


function rgbToHexFunc(r, g, b) {

  let v = "#" + HexFunc(r) + HexFunc(g) + HexFunc(b);

  console.log(v);

  return v;

}


alert(rgbToHexFunc(092, 334, 159)); // #5c94e9f


查看完整回答
反对 回复 2022-10-27
  • 2 回答
  • 0 关注
  • 353 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信