Для моего проекта мне нужно показать значение переменной от минимума до максимума, используя определенное пользователем количество цветов. эта пользовательская переменная (numberOfLevels) умножается на 5 (5,10,15,20,25, ...). хотя это не так просто, потому что окончательная цветовая палитра представляет собой диапазон цветов между несколькими цветами. Итак, у меня есть палитра из 5 исходных цветов, и я хочу преобразовать ее в палитру из 40 цветов, где цвета поровну разделены на 5 исходных цветов.
вот пример исходной цветовой палитры
paletteList = [
[Color("#ff0000"),
Color("#ff8000"),
Color("#ffff00"),
Color("#00ffff"),
Color("#0000ff")],
]
и вот формула, которую я создал для создания окончательной цветовой палитры
numberOfLevels = 40
sizeOfBucket = int(numberOfLevels / 5)
for x in range(0, len(paletteList[0])-1 ):
templist = list(paletteList[0][x].range_to(paletteList[0][x+1],sizeOfBucket+1))
for m in templist:
res.append(m)
для удаления повторяющихся цветов
for m in res:
if m not in templist:
templist.append(m)
проблема с этим кодом в том, что он показывает 36 цветов, а я спросил 40