gpt4 book ai didi

javascript - 将浮点值转换为灰度十六进制颜色值

转载 作者:搜寻专家 更新时间:2023-10-31 22:07:52 24 4
gpt4 key购买 nike

这个问题很简单。

我有一个二维 float 组(0,0000000 到 1,0000000),我想将这些数字转换为颜色值(#000000 到 #ffffff)。

请注意,我说的只是灰度值。

0 = 黑色 | ... | 0.5 = 中灰 | ... | 1 = 白色

有谁知道如何用 javascript 做到这一点?谢谢。

最佳答案

十六进制的灰度值是对称分布或红、绿、蓝的灰度值,例如:#111111、#5B5B5B、#A2A2A2。

要将十进制数转换为十六进制数,您可以使用:

var number = 42;
var hex = Number(parseInt( number , 10)).toString(16);
hex // => "2a"

让它发挥作用:

function dec2hex(dec) {
return Number(parseInt( dec , 10)).toString(16);
}

所以你的 float 可以转换为十六进制:

var percentage = 0.4;
var color_part_dec = float * 255;
var color_part_hex = dec2hex( color_part_dec );
var color = "#" + color_part_hex + color_part_hex + color_part_hex;
color // => "#666666"

所以你的函数看起来像这样:

function float2color( percentage ) {
var color_part_dec = 255 * percentage;
var color_part_hex = Number(parseInt( color_part_dec , 10)).toString(16);
return "#" + color_part_hex + color_part_hex + color_part_hex;
}

关于javascript - 将浮点值转换为灰度十六进制颜色值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16179713/

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