代码之家  ›  专栏  ›  技术社区  ›  Mikulas Dite

基于随机数的颜色生成

  •  1
  • Mikulas Dite  · 技术社区  · 16 年前

    我想创建一个基于随机数的颜色生成器,这可能只是略有不同,但我需要的颜色很容易识别彼此。我在考虑用rgb格式生成,这可能是最简单的。我担心简单地将给定的参数相乘不会很好。你建议用什么算法?另外,第二次生成的颜色不应该与前一次相同,但我不想存储它们,也不想与(微)时间相乘,因为脚本的部分通常更快。

    5 回复  |  直到 16 年前
        1
  •  0
  •   Tony The Lion    16 年前

    一个真正的随机数发生器,看看 here

        2
  •  2
  •   drawnonward    16 年前

    最简单的方法可能是将索引循环到颜色列表中。假设你选择网页颜色,一个216种颜色的列表。每次需要新颜色时,请向索引中添加一个随机数,并根据需要进行包装。为防止获得相同的颜色,请将随机数限制为小于颜色数。

    如果不需要查找表,则生成HSB颜色,但将色调限制为不包含上一颜色的圆的一部分。例如,如果上一个色调为60度,则选择90度以上或30度以下的下一个色调。您可能希望将饱和度和亮度限制在50%左右。

        3
  •  1
  •   Diones    16 年前

    有255*255*255种可能的颜色组合,如果你为RBG的每个值生成一个随机数,你就可以这样做。

    这个简单的伪代码说明了如何避免一些必要的比较

    if red is not equals previous_red then
      if blue is not equals previous_blue then
        if green is not equals previous_green then
          use this color
    else
      generate again
    
        4
  •  1
  •   Community Mohan Dere    9 年前

    alt text

    除非你看到他们 !

        5
  •  0
  •   user352353 user352353    16 年前

    让我建议:

    创建一个伪随机数算法(键入Google来查找thowsands)并创建一个带有颜色的数组。

    您没有指定语言,无论如何,您可以有如下内容:

    颜色=[0xFF0000,0x00FF00,0x0000FF]

    红、绿、蓝

    你可以有这样的东西:

    位置=fn_random();

    绘制(颜色[位置]);

    希望这就是你要找的。。。

    告诉我!!