Форум сайта python.su
Доброго времени суток! Только приступил к изучению Python. В программе есть строка
canvas.create_oval(200, 200, 1, 1, fill=“#991010”) свойство fill c форматом #RRGGBB, если не ошибаюсь. В свойство fill можно задать только стандартную палитру из таблицы. Но мне нужно вставить в формат #RRGGBB только своё значение R,G,B из других переменных r,g,b. К примеру значение
RR - переменная r.
GG - переменная g.
BB - переменная b.
Только ни где в Python не описывается как можно это сделать. Подскажите как это можно сделать? Заранее спасибо!
Прикреплённый файлы:
KrugRGB.py (250 байт)
Офлайн
Соответствующую строку кода можно записать так:
canvas.create_oval(200, 200, 1, 1, fill=f"#{r}{g}{b}")
canvas.create_oval(200, 200, 1, 1, fill="#{}{}{}".format(r,g,b))
root.mainloop()
Офлайн
Спасибо, всё работает, но до момента пока значения переменных r,g,b двух значное. Или значение fill
шести значное fill=“991010”. Формат RRGGBB описано как шестнадцатеричное , то есть нулевое значение это 0х00 а последнее значение это 0xFF . Мне нужна область переменной “char” от 0-255. И его шестнадцатеричное представление это 0-ff. Но подставляя такие значения в параметры fill (fill=“FFFFFF”), ничего не работает. Компилятор ругается на неизвестное значение. Это тема не совсем раскрыта в учебниках. Можете мне описать подробный формат, параметров fill ? Спасибо!
Отредактировано king-live (Окт. 14, 2018 23:04:58)
Офлайн
king-liveПро tkinter читайте здесь: Tkinter 8.5 reference: a GUI for Python
Это тема не совсем раскрыта в учебниках. Можете мне описать подробный формат, параметров fill ?
Офлайн
ramiЭто я прочёл, и с форматом понятно. Я не могу подставить значение r,g,b в параметры fill.
Про цвет: 5.3. Colors
Офлайн
r = 0x00 g = 0xff b = 0xff print("#{:02X}{:02X}{:02X}".format(r, g, b))
Офлайн
Papa_Svin
print(“#{:02X}{:02X}{:02X}”.format(r, g, b))
Офлайн
king-live
Зачем тебе это надо? Не парься!
Офлайн
Papa_SvinМуыкальный фонтан, мне надо передать на RGB плафоны через компьютер, цветовую палитру.
Зачем тебе это надо? Не парься!
Офлайн
Вот как я решил эту задачу
from tkinter import colorchooser from tkinter import * from random import * root = Tk() canvas = Canvas(root, width=2000, height=1000) canvas.pack() r=255 g=0 b=128 canvas.create_oval(200, 200, 1, 1, fill=f'#{r:02x}{g:02x}{b:02x}') root.mainloop()
Офлайн