В Python есть модуль colour
, в нем есть функция range_to
, которая выдает список цветов между двумя цветами.
Я пытался выполнить ту же задачу, используя свою собственную функцию,но он продолжает повторять эти значения, снова и снова, то есть одни и те же значения (которые лежат между цветами), в том же порядке.
Например, если мне нужны цвета между красным и синим, и список должен быть list_rb = [e1, e2, ... , en]
.Затем моя программа дает мне:
my_list = list_rb + list_rb + list_rb
или my_list = [e1, e2, ... en, e1, e2, ... en, e1, e2, ... en]
Ниже приведена функция, которую я написал:
def generate_color(f, lcc):
# lcc = [r_1, g_1, b_1, r_2, b_2, g_2]
col1 = []
for i in range(lcc[0], lcc[1]):
for j in range(lcc[2], lcc[3]):
for k in range(lcc[4], lcc[5]):
T = (k, j, i)
col1.append('#%02x%02x%02x' % T)
T = (lcc[0], lcc[1], lcc[2])
for i in range(400):
l1 = (lcc[0] - lcc[3]) // 256
l2 = (lcc[1] - lcc[4]) // 256
l3 = (lcc[2] - lcc[5]) // 256
T = (T[0] - l1, T[1] - l2, T[2] - l3)
col1.append('#%02x%02x%02x' % T)
print(T)
Я открыт для всех предложенийи даже совершенно новый алгоритм