web-dev-qa-db-fra.com

Générer des couleurs aléatoires (RVB)

La semaine dernière, je me suis lancé dans le traitement des images en python, à la suggestion d'un ami, de générer des motifs de couleurs aléatoires. J'ai trouvé ce script en ligne qui génère un large éventail de couleurs différentes sur tout le spectre RVB.

def random_color():
    levels = range(32,256,32)
    return Tuple(random.choice(levels) for _ in range(3))

Il est simplement intéressant d’ajouter ce script pour ne générer que l’une des trois couleurs aléatoires. De préférence rouge, vert et bleu.

8
Travis A.

Ici:

def random_color():
    rgbl=[255,0,0]
    random.shuffle(rgbl)
    return Tuple(rgbl)

Le résultat est soit rouge, vert ou bleu. Cette méthode ne s’applique toutefois pas aux autres jeux de couleurs, où vous devez créer une liste de toutes les couleurs de votre choix, puis utiliser random.choice pour en choisir une au hasard.

8
Fran Borcic

Vous pouvez également utiliser le code de couleur Hex, 

Name    Hex Color Code  RGB Color Code
Red     #FF0000         rgb(255, 0, 0)
Maroon  #800000         rgb(128, 0, 0)
Yellow  #FFFF00         rgb(255, 255, 0)
Olive   #808000         rgb(128, 128, 0)

Par exemple

import matplotlib.pyplot as plt
import random

number_of_colors = 8

color = ["#"+''.join([random.choice('0123456789ABCDEF') for j in range(6)])
             for i in range(number_of_colors)]
print(color)

['# C7980A', '# F4651F', '# 82D8A7', '# CC3A05', '# 575E76', '# 156943', '# 0BD055', '# ACD338']

Essayons de les tracer dans un diagramme de dispersion

for i in range(number_of_colors):
    plt.scatter(random.randint(0, 10), random.randint(0,10), c=color[i], s=200)

plt.show()

 enter image description here

7
Khalil Al Hooti

Avec des couleurs personnalisées (par exemple, rouge foncé, vert foncé et bleu foncé):

import random

COLORS = [(139, 0, 0), 
          (0, 100, 0),
          (0, 0, 139)]

def random_color():
    return random.choice(COLORS)
1
Hugo
color = lambda : [random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)
0
Rahul Kumar