da es mich immer genervt hat, die richtigen Farbeinstellungen herauszufinden, habe ich mir ein kleines Tool gebaut.
Da kann ich jetzt mit den Reglern die gewünschte Farbe einstellen, den Farbwert (z.B. '#8b5a4a') ablesen und ins Programm übernehmen.
Code: Alles auswählen
# -*- coding: utf-8 -*-
from Tkinter import *
class Farbschema:
def __init__(self):
self.root = Tk()
self.fr1 = Frame(self.root)# Hauptframe
self.fr1.pack()
self.fr2 = Frame(self.fr1) # Frame für die Schieberegler
self.fr2.pack()
self.fr3 = Frame(self.fr1) # Frame für die Farbanzeige
self.fr3.pack(fill=X)
self.fr4 = Frame(self.fr1) # Frame für die Buttons
self.fr4.pack()
# Regler für die Farbe Rot #
self.scale_r1 = Scale(self.fr2,length='6c',
from_=0,
to=15,
label='Farbanteil Rot:',
orient=HORIZONTAL,
showvalue=0,
command=self.anzeige)
self.scale_r1.pack()
self.scale_r2 = Scale(self.fr2,length='6c',
from_=0,
to=15,
orient=HORIZONTAL,
showvalue=0,
command=self.anzeige)
self.scale_r2.pack()
# Regler für die Farbe Grün #
self.scale_g1 = Scale(self.fr2,length='6c',
from_=0,
to=15,
label='Farbanteil Grün:',
orient=HORIZONTAL,
showvalue=0,
command=self.anzeige)
self.scale_g1.pack()
self.scale_g2 = Scale(self.fr2,length='6c',
from_=0,
to=15,
orient=HORIZONTAL,
showvalue=0,
command=self.anzeige)
self.scale_g2.pack()
# Regler für die Farbe Blau #
self.scale_b1 = Scale(self.fr2,length='6c',
from_=0,
to=15,
label='Farbanteil Blau:',
orient=HORIZONTAL,
showvalue=0,
command=self.anzeige)
self.scale_b1.pack()
self.scale_b2 = Scale(self.fr2,length='6c',
from_=0,
to=15,
orient=HORIZONTAL,
showvalue=0,
command=self.anzeige)
self.scale_b2.pack()
# Farblabel + Wertanzeige#
self.lb1 = Label(self.fr3,height=4,bd=1,relief=GROOVE)
self.lb1.pack(fill=X,padx=4,pady=4)
self.lb2 = Label(self.fr3,bd=1,font=('arial',11,'bold'))
self.lb2.pack(fill=X,padx=4,pady=4)
# Button Beenden '
self.bu = Button(self.fr4,text=' Beenden ',command=self.ende)
self.bu.pack(padx=4,pady=4)
def wert_r1(self):
self.r1 = self.scale_r1.get()
def wert_r2(self):
self.r2 = self.scale_r2.get()
def wert_g1(self):
self.g1 = int(self.scale_g1.get())
def wert_g2(self):
self.g2 = int(self.scale_g2.get())
def wert_b1(self):
self.b1 = int(self.scale_b1.get())
def wert_b2(self):
self.b2 = int(self.scale_b2.get())
def hexwert(self,zahl):
if zahl < 10:
z = zahl
elif zahl == 10:
z = 'a'
elif zahl == 11:
z = 'b'
elif zahl == 12:
z = 'c'
elif zahl == 13:
z = 'd'
elif zahl == 14:
z = 'e'
elif zahl == 15:
z = 'f'
return z
def anzeige(self,event):
self.wert_r1()
self.wert_r2()
self.wert_g1()
self.wert_g2()
self.wert_b1()
self.wert_b2()
self.farbe = '%s%s%s%s%s%s'%(self.hexwert(self.r1),
self.hexwert(self.r2),
self.hexwert(self.g1),
self.hexwert(self.g2),
self.hexwert(self.b1),
self.hexwert(self.b2))
self.lb1.config(bg='#%s%s%s%s%s%s'%(self.hexwert(self.r1),
self.hexwert(self.r2),
self.hexwert(self.g1),
self.hexwert(self.g2),
self.hexwert(self.b1),
self.hexwert(self.b2)))
self.lb2.config(text='Angezeigte Farbe: #%s%s%s%s%s%s'%(self.hexwert(self.r1),
self.hexwert(self.r2),
self.hexwert(self.g1),
self.hexwert(self.g2),
self.hexwert(self.b1),
self.hexwert(self.b2)))
def run(self):
self.root.mainloop()
def ende(self):
self.root.destroy()
if __name__ == '__main__':
Anwendung = Farbschema()
Anwendung.run()

Stephan