在js中从RGBA获取十六进制

如何将给定的 RGBA 转换为十六进制,假设它们中的每一个的值作为单独的变量 r、g、b、a 给出,其中 r、g 和 b 是 1-225,a 在 javascript 中是 0-1。

请为它定义一个函数。



潇湘沐
浏览 451回答 2
2回答

Qyouu

如果您不需要 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));

不负相思意

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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript