Python >> Tutoriel Python >  >> Python

Générer des couleurs aléatoires en Python

Dans le monde numérique, les couleurs sont représentées dans différents formats. Les formats RVB et Hexadécimal ne sont que quelques-uns des formats les plus utilisés.

Dans ce tutoriel, nous allons apprendre à générer des couleurs aléatoires en Python. Lorsque nous parlons de générer des couleurs aléatoires, nous allons générer un code aléatoire qui peut représenter la couleur. Différentes méthodes généreront des codes de couleur dans différents formats.

Générer des couleurs aléatoires au format RVB en Python

RVB signifie rouge, vert et bleu. Ensemble, ils représentent le spectre des couleurs dans le monde numérique. Le rouge, le vert et le bleu ensemble peuvent représenter toutes les couleurs et sont de 8 bits chacun. Cela signifie qu'ils ont une valeur entière de 0 à 255.

Pour générer des couleurs aléatoires au format RVB, nous allons générer une liste ou un tuple d'entiers aléatoires de 0 à 255.

Le code suivant montre comment implémenter cela.

import numpy as np
color = list(np.random.choice(range(256), size=3))
print(color)

Sortie :

Jeu de couleurs utilisant Tkinter en Python avec code source | Projet Python avec code source
[245, 159, 34]

Nous générons des entiers aléatoires en utilisant le random du NumPy module dans le code ci-dessus. Il génère simplement un nombre entier aléatoire de 0 à 255 trois fois et le stocke dans une liste. L'accent doit être mis sur la logique du code puisque les entiers aléatoires peuvent être générés de bien d'autres manières.

Générer des couleurs aléatoires au format hexadécimal en Python

En hexadécimal, la couleur est représentée par six chiffres hexadécimaux, préfixés par un signe #. Le format est en #RRGGBB où R, G et B indiquent Red , Green , et Blue , respectivement, et sont des nombres hexadécimaux.

Nous pouvons générer des couleurs aléatoires dans ce format en utilisant le code comme indiqué ci-dessous.

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

Sortie :

['#BE3559']

Dans le code ci-dessus, nous choisissons six nombres aléatoires parmi les chiffres hexadécimaux spécifiés et les fusionnons avec un # signer en utilisant le join() fonction.

Il existe de nombreux autres formats de couleurs disponibles et il est très facile d'effectuer des conversions entre eux.

Une chose à retenir est que nous avons généré des codes de couleur dans ce tutoriel dans différents formats. Pour voir réellement ces couleurs, nous devrions produire un graphique ou tracer un graphique à l'aide d'autres modules.

Par exemple, dans le code ci-dessous, nous allons tracer un simple point du code de couleur que nous produisons en utilisant un nuage de points du Matplotlib module.

import random
import matplotlib.pyplot as plt

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

plt.scatter(random.randint(0, 10), random.randint(0,10), c=color, s=200)
plt.show()

Sortie :


Post précédent