在js中从RGBA获取十六进制
Getting Hex from RGBA in js
如何将给定的 RGBA 转换为十六进制假设每个值都作为单独的变量 r、g、b、a 给出,其中 r、g 和 b 是 1-225,a 在 0-1 中 [=14] =].
请为其定义一个函数。
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
如果您不需要 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));
如何将给定的 RGBA 转换为十六进制假设每个值都作为单独的变量 r、g、b、a 给出,其中 r、g 和 b 是 1-225,a 在 0-1 中 [=14] =].
请为其定义一个函数。
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
如果您不需要 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));