gpt4 book ai didi

javascript - 转换 Scratch 颜色

转载 作者:行者123 更新时间:2023-12-03 07:08:06 25 4
gpt4 key购买 nike

Scratch 似乎在使用自己专门的颜色格式:

Colour slider, Saturation slider and Brightness slider

有没有办法获得这些值的 HEX 等价物,是否有可能以其他方式工作?

最佳答案

Scratch 的颜色格式 CSB 使用类似于 HSV(色调、饱和度、值)的格式,但有一些变化。

  • 色调 (0-360) 变为颜色 (0-100),其值按比例缩小 3.6 倍,因此 36 色调变为 10 颜色。
  • 值变为亮度不变

CSB 和 HSV 之间的转换可以像这样完成:

// Convert from HSV TO CSB
const [colour, saturation, brightness] = [Math.round(hue / 360 * 100), saturation, value]

// Convert from CSB to HSV
const [hue, saturation, value] = [Math.round(colour / 100 * 360), saturation, brightness]

Math.round 函数存在,以防色调值不能完全整除。但是,这在使用 Touching color 时可能会造成问题。堵塞。由于您只能指定从 0 到 100 的颜色值,因此除以十进制数的色调不起作用。当使用来自图像的自定义 Sprite 时,这可能是一个问题。

为了解决这个问题,我们可以量化颜色,这样它就可以在格式之间转换,而无需处理小数。为此,我们可以 round it to the nearest multiple of 18 :

const compatibleHue = Math.round(hue / 18) * 18

关于javascript - 转换 Scratch 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63397614/

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