gpt4 book ai didi

javascript - RGB 到十六进制转换 - 确保数字 0 - 255

转载 作者:行者123 更新时间:2023-11-28 18:42:07 29 4
gpt4 key购买 nike

RGB 到十六进制的转换。我下面的代码将 RGB 转换为十六进制。有一个问题,r、g或b必须在0和255之间。目前,如果它们低于0,我的代码不会将它们四舍五入到0。我不知道为什么?另外我需要确保最大值为 255。请问有什么建议吗?

function rgb(r, g, b){
var newarr = [];
newarr.push(r, g, b );

var b = newarr.map(function(x){
if (isNaN(x) === true ) {
if ( x > 0 ) {
parseInt(x).toString(16);
return (x.length==1) ? "0"+x : x;
} else {
x = 0 ;
parseInt(x).toString(16);
return (x.length==1) ? "0"+x : x;
}
} else {
parseInt(x).toString(16);
return (x.length==1) ? "0"+x : x;
}

});


var tos = String(b) ;
var fin = tos.replace(/,/g," ");
fint = fin.replace(/\s/g,'');
document.write(fint);
}

rgb('0','0','-14');

此示例当前返回:0000-14

最佳答案

您的代码可以更简单:

function rgb(r, g, b){
return [r, g, b].map(function(v) {
return ('0' +
Math.min(Math.max(parseInt(v), 0), 255)
.toString(16)
).slice(-2);
}).join('');
}

关于javascript - RGB 到十六进制转换 - 确保数字 0 - 255,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35974293/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com