Gerar cores aleatórias em Python

Manav Narula 30 janeiro 2023
  1. Gerar cores aleatórias em formato RGB em Python
  2. Gerar cores aleatórias em formato hexadecimal em Python
Gerar cores aleatórias em Python

No mundo digital, as cores são representadas em diferentes formatos. Os formatos RGB e Hexadecimal são apenas alguns dos formatos mais usados.

Neste tutorial, aprenderemos como gerar cores aleatórias em Python. Quando falamos sobre a geração de cores aleatórias, geraremos um código aleatório que pode representar a cor. Métodos diferentes geram códigos de cores em formatos diferentes.

Gerar cores aleatórias em formato RGB em Python

RGB significa Red, Green e Blue. Juntos, eles representam o espectro de cores no mundo digital. O vermelho, o verde e o azul juntos podem representar todas as cores e são de 8 bits cada. Isso significa que eles têm um valor inteiro de 0 a 255.

Para gerar cores aleatórias no formato RGB, geraremos uma lista ou tupla de inteiros aleatórios de 0 a 255.

O código a seguir mostra como implementar isso.

import numpy as np

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

Resultado:

[245, 159, 34]

Geramos inteiros aleatórios usando o random do módulo NumPy no código acima. Ele simplesmente gera um número inteiro aleatório de 0 a 255 três vezes e o armazena em uma lista. O foco principal deve ser a lógica do código, uma vez que inteiros aleatórios podem ser gerados de muitas outras maneiras.

Gerar cores aleatórias em formato hexadecimal em Python

No hexadecimal, a cor é representada em seis dígitos hexadecimais, prefixados por um sinal #. O formato está em #RRGGBB onde R, G e B indicam Red, Green, e Blue, respectivamente, e são números hexadecimais.

Podemos gerar cores aleatórias neste formato usando o código conforme mostrado abaixo.

import random

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

Resultado:

['#BE3559']

No código acima, escolhemos seis números aleatórios dos dígitos hexadecimais especificados e os fundimos com um sinal # usando a função join().

Existem muitos outros formatos de cores disponíveis e é muito fácil realizar conversões entre eles.

Uma coisa a lembrar é que geramos códigos de cores neste tutorial em diferentes formatos. Para realmente ver essas cores, teríamos que produzir algum gráfico ou traçar algum gráfico usando outros módulos.

Por exemplo, no código abaixo, traçaremos um ponto simples do código de cores que produzimos usando um gráfico de dispersão do módulo Matplotlib.

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()

Resultado:

python cor aleatória

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Python Color