Я пытаюсь создать шкалу выбора цвета для приложения Tkinter.
Меня не интересует модуль tkinter.colorchooser
или отдельные шкалы для каждого канала RGB. Мне нужна единая шкала, такая как ползунок цвета в Photoshop.
В настоящее время у меня есть виджет вертикальной шкалы с целочисленными значениями RGB от 0
(#000
) до 16777215
(#FFF
). Проблема в том, что использование диапазона целых чисел RGB приводит к очень странной последовательности цветов — выбор не идет от красного к розовому, к синему и т. д., как на первом изображении ниже.
Вместо этого я получаю последовательность цветов на втором изображении. Он сильно сжат, потому что 16777215 различных цветов втиснуты в 300 пикселей. Третье фото - зум. Вы можете видеть, что он переходит от черного к зеленому, затем почти к черному к зеленому и т. д.
Вот соответствующая часть моего кода:
MAXRGBINT = 16777215 # Corresponds to (255, 255, 255)
scale = ttk.Scale(slidframe, orient=VERTICAL, length=75,
from_=0, to=MAXRGBINT,
command=lambda _: set_color('sprite'))
По сути, мне нужен виджет масштаба, который будет отображать цвета в «нормальном» порядке. Как я могу сделать это с числовыми значениями?