Css-计算灰色

Css-计算灰色,css,math,Css,Math,如何将#000000-#ffffff区间介绍x等分,得到x个灰色?这可能吗 编辑: 更具体地说: 我希望将#000000-#ffffff颜色范围“分割”如下: step = 256 / (x + 2) #000000 #1E1E1E #282828 #515151 #5b #848484 #8E8E8E #B7B7 #C1C1C1 #eaea #F4 #FFFFFF 在这个列表中有12种颜色。(查看sgi灰色。) 但是如果我想要的不是12种而是32种颜色呢?如何计算它们? 我希望你现在能理解我

如何将
#000000
-
#ffffff
区间介绍x等分,得到x个灰色?这可能吗

编辑: 更具体地说: 我希望将
#000000
-
#ffffff
颜色范围“分割”如下:

step = 256 / (x + 2)
  • #000000
  • #1E1E1E
  • #282828
  • #515151
  • #5b
  • #848484
  • #8E8E8E
  • #B7B7
  • #C1C1C1
  • #eaea
  • #F4
  • #FFFFFF
  • 在这个列表中有12种颜色。(查看sgi灰色。)

    但是如果我想要的不是12种而是32种颜色呢?如何计算它们?
    我希望你现在能理解我:)

    实际上你只需要把255(DEC)除以x。然后,将这些数字传递给十六进制数字,让我们调用其中一个数字0xC4。最后,您只需执行以下操作:

        .whatever { background-color: #C4C4C4; }
    
    这就是为什么。

    \000000实际上是R=00,G=00,B=00的RGB

    当R=G=B时得到灰色

    #00-#FF留给您256种可能的组合,因此如果您想排除白色和黑色(#000000和#FFFFFF),请尝试以下方法:

    step = 256 / (x + 2)
    
    所以如果你想得到4个灰度,步骤解析为

    step = 256 / (4+2) = 256 / 6 = 43
    
    将其从十进制转换为十六进制:

    step_16 = 43_16 = #2B
    
    现在的颜色是:

    #2B2B2B
    #565656
    #818181
    ...
    

    是的,这是可能的,只要将255除以
    x
    ,就可以得到步骤

    Ruby中的生成器:

    def gray_generator(steps)
      step = 255/steps
      ret = []
      steps.times { |i| ret << (step*i).to_s(16) * 3 }
      return ret
    end
    
    def灰度发生器(步骤)
    步长=255/步
    ret=[]
    
    steps.times{| i | ret只要这三个值(RGB)相等,它们都是灰色的

    如果需要在#000000(黑色)到#ffffff(白色)范围内的X灰度,则需要除以255/(X-1),并将结果用作Reg、绿色和蓝色的步长值。在java中执行此操作:

    int x = 12;
    for (int i = 0; i < x; i++) {
        int c = (int) Math.round(i*255.0/(x-1));
        System.out.printf("%d. #%02x%02x%02x\n", i, c, c, c);
    }
    

    我不太清楚你的意思,听起来很有趣,但是:)你到底想要什么?