Scale widget’ı ile RGB biçiminde renkler seçip, seçiminizi görebiliyor ve hex code şeklinde alabiliyorsunuz. Renk kodları pyperclip ile panoya kopyalanıyor.
Resim:
Kod:
#Samet Güzelgün 03.10.23
import tkinter as tk
import pyperclip
from tkinter import Canvas
from tkinter.messagebox import showinfo
rkmlar = "0123456789abcdef"
tple = tuple(enumerate(rkmlar))
def deci(hexa):
global tple
if hexa >= 16:
return tple[hexa // 16][1] + tple[hexa % 16][1]
else:
return "0" + str(tple[hexa % 16][1])
def boyama():
global r,g,b,renk
hexclr = deci(r.get()) + deci(g.get()) + deci(b.get())
renk["bg"] = "#" + hexclr
hxclr = "#" + hexclr
pyperclip.copy("{},{},{} - {}".format(r.get(),g.get(),b.get(),hxclr))
showinfo("Renk kodları","RGB: {},{},{}\nHex: {}\nBilgiler panoya kopyalandı.".format(r.get(),g.get(),b.get(),hxclr))
pencere = tk.Tk()
pencere.title("pyPalette")
pencere.resizable(0,0)
renk = Canvas(height=100,width=100,bg="purple")
renk.pack()
r = tk.Scale(length=300,from_=0,to=255,orient=tk.HORIZONTAL,bg="red")
r.pack()
g = tk.Scale(length=300,from_=0,to=255,orient=tk.HORIZONTAL,bg="green")
g.pack()
b = tk.Scale(length=300,from_=0,to=255,orient=tk.HORIZONTAL,bg="blue")
b.pack()
yeni_renk = tk.Button(text="Yeni Renk",command=boyama)
yeni_renk.pack()
pencere.mainloop()