上周我在朋友的建议下开始学习Python图像处理,以生成随机颜色的图案。我在网上找到了这段脚本,可以在RGB光谱范围内生成各种不同的颜色。
def random_color():
levels = range(32,256,32)
return tuple(random.choice(levels) for _ in range(3))
我只是想将此脚本附加到仅生成三种随机颜色之一。最好是红色、绿色和蓝色。
randint
和%x
运算符来生成颜色。colors_ = lambda n: list(map(lambda i: "#" + "%06x" % random.randint(0, 0xFFFFFF),range(n)))
运行该函数以生成2个随机颜色:
colors_(2)
输出 ['#883116','#032a54']
from numpy import random
color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
假设您有一个数据框或任何数组,您可以按以下方式生成随机颜色或连续颜色。
对于随机颜色(您可以选择要生成的每个随机颜色):
arraySize = len(df.month)
colors = ['', ] * arraySize
color = ["red", "blue", "green", "gray", "purple", "orange"]
for n in range(arraySize):
colors[n] = cor[random.randint(0, 5)]
对于连续的颜色:
import random
arraySize = len(df.month)
colors = ['', ] * arraySize
color = ["red", "blue", "green", "yellow", "purple", "orange"]
i = 0
for n in range(arraySize):
if (i >= len(color)):
i = 0
colors[n] = color[i]
i = i+1
试试这段代码
import numpy as np
R=np.array(list(range(255))
G=np.array(list(range(255))
B=np.array(list(range(255))
np.random.shuffle(R)
np.random.shuffle(G)
np.random.shuffle(B)
def get_color():
for i in range(255):
yield (R[i],G[i],B[i])
palette=get_color()
random_color=next(palette) # you can run this line 255 times
import random
rgb_full=(random.randint(1,255), random.randint(1,255), random.randint(1,255))
from random import randint,choice
from PIL import ImageColor
#random choice colorlist
colorlist = ["#23a9dd","#BE6E46","#CDE7B0","#A3BFA8"]
#random r g b select
r = randint(0, 255)
g = randint(0, 255)
b = randint(0, 255)
#random choice selector
qcl = choice(RandomColorButton.colorlist)
rand_color = (r, g, b)
#random choice selected convert in RGB int
print(ImageColor.getcolor(qcl, "RGB"))
print(rand_color)