使用JS,如果通过一个RGB颜色来获取这个颜色的所有颜色(亮度,灰度变化),如图。

2025-12-15 05:19:30
推荐回答(1个)
回答1:

问题比较复杂,分步来讲:

  1. 因为你这张图,很显然是使用HSB颜色,固定H,S和B的取值范围都是0%~100%,所有可能的集合就是你的这张图,所以,首先要把rgb颜色转换成hsb颜色。

  2. 把得到的hsb颜色的h值固定,然后使用一个循环,把hsb(h,0%,0%)~hsb(h,100%,100%)都写入一个数组里,这里要注意hsb(h,12%,80%)和hsb(h,80%,12%)是不同的.

  3. 再把hsb颜色转换成rgb颜色,然后输出。

好了,思路有了,接下来难点在于rgb与hsb的颜色转换。

  二者的转换复杂程度非同一般,所以,如果真的需要,HI我,给你一篇文章地址。这里打不出网址来。