Convertion de couleur rvb en million de couleur.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 786 fois - Téléchargée 26 fois

Contenu du snippet

voici un petit programme avec une interface Tkinter, permettant de définir l'équivalence en millions de couleurs, une couleur exprimée en Rouge vert bleu. Trés pratique pour moi.
la valeur est évaluer a chaque changement de valeur, soit par <ENTER>, soit en sortant du champs Entry actif.

Source / Exemple :


from Tkinter import *

def evaluer(event):
    a=entree1.get()
    b=entree2.get()
    c=entree3.get()
    chaine.configure(text=str(int(a)+int(b)*256+int(c)*256**2))

fenetre=Tk()
fenetre.title("Couleur")
label1=Label(fenetre,text='ROUGE')
label2=Label(fenetre,text='VERT')
label3=Label(fenetre,text='BLEU')
entree1=Entry(fenetre,width=10)
entree2=Entry(fenetre,width=10)
entree3=Entry(fenetre,width=10)
entree1.insert(0,'0')
entree2.insert(0,'0')
entree3.insert(0,'0')
entree1.bind("<FocusOut>",evaluer)
entree2.bind("<FocusOut>",evaluer)
entree3.bind("<FocusOut>",evaluer)
bouton=Button(fenetre,text='Fermer',command=fenetre.quit)
entree1.bind("<Return>",evaluer)
entree2.bind("<Return>",evaluer)
entree3.bind("<Return>",evaluer)
chaine=Label(fenetre,width=20)
chaine.configure(bg='white',fg='red')

label1.grid(column=0,row=0,padx=5,pady=5,sticky=W)
label2.grid(column=0,row=1,padx=5,pady=5,sticky=W)
label3.grid(column=0,row=2,padx=5,pady=5,sticky=W)
entree1.grid(column=1,row=0,padx=5,pady=5)
entree2.grid(column=1,row=1,padx=5,pady=5)
entree3.grid(column=1,row=2,padx=5,pady=5)
bouton.grid(column=0,row=4,padx=5,pady=5,columnspan=2)
chaine.grid(column=0,row=3,padx=20,pady=20,columnspan=2)

fenetre.mainloop()

fenetre.destroy()

A voir également

Ajouter un commentaire

Commentaires

HCD
Messages postés
86
Date d'inscription
jeudi 18 août 2005
Statut
Membre
Dernière intervention
20 février 2007
-
Ce code est simple et pratique en effet.
Au fait, pour retrouver l'équivalence en RVB d'une couleur définie par un Triple, voici ce que je propose:
Triple=(a,b,c)
Couleur_Triple=hex(int(c)+int(b)*256+int(a)*256**2)
Couleur_RVB='#'+Couleur_Triple[2:]

Dans Tkinter, la couleur des objets est définie soit dans une liste préétablie(e.g. "white","blue",etc...),soit par le code "RGB" (e.g. '#0a11ff').
Pour faire varier la couleur d'un objet, on ne peut que modifier le Triple.
Bonne continuation.
HCD
Messages postés
86
Date d'inscription
jeudi 18 août 2005
Statut
Membre
Dernière intervention
20 février 2007
-
"Complément"
Mon truc ne marche que si a>=16
Par exemple, pour a=7 hex(int(a)) ne renvoie pas #07, mais #7

Il doit y avoir plus simple pour régler ce problème.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.