Random color generation using PHP

前端 未结 13 1730
终归单人心
终归单人心 2020-12-14 09:48

I\'m trying to generate random HTML colors in PHP, but I\'m having trouble getting them to look similar, or in the same family. Is there some function I can use to generate

13条回答
  •  时光说笑
    2020-12-14 10:42

    You could

    1. Generate one random decimal number betweem 25 and 230 (your "base" number)
    2. Generate 3 random numbers between 1 and 25 (arbitrarily deciding whether they will be positive or negative)
    3. Add those three numbers to your base number to get three different numbers (your R, G, and B)
    4. Repeat steps 2 and 3 to get more, similar colors

    You could widen the range of the modifier number (the one from 1 to 25) to get more variance in your color (you'd have to change the range of your base number as well, so you stay between 0 and 255).

    I don't know anything about PHP, which is why I'm not putting code. But I thought it was an interesting question =)

    EDIT: I realized that generating 3 random base numbers in step 1 will get you a less muted looking (grey) color. Then you can follow steps 2 and 3 to get different shades etc. as I already mentioned (and, as @Peter mentioned, increasing the modifier number at the risk of getting less "similar" colors)

    Example output of this technique (based on two different sets of base numbers):

    random, similar colors

    EDIT 2: Here is the PHP implementation of this by @Peter Ajtai

     Base Color 

    "; for($i=0;$i<92;++$i) { $r = rand($color[0]-$spread, $color[0]+$spread); $g = rand($color[1]-$spread, $color[1]+$spread); $b = rand($color[2]-$spread, $color[2]+$spread); echo "
    "; } echo "
    "; } ?>

提交回复
热议问题