Ho il seguente codice che utilizza Tkinter per creare una finestra e disegnare forme su una tela al suo interno.Come posso variare l'alfa di una forma con Tkinter?
from Tkinter import *
class Example(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Colors")
self.pack(fill=BOTH, expand=1)
canvas = Canvas(self)
canvas.create_oval(10, 10, 80, 80, outline="red", fill="green", width=2)
canvas.create_oval(110, 10, 210, 80, outline="#f11", fill="#1f1", width=2)
canvas.create_rectangle(20, 50, 300, 100, outline="black", fill="red", width=2)
canvas.pack(fill=BOTH, expand=1)
if __name__ == '__main__':
root = Tk()
ex = Example(root)
root.geometry("400x400+100+100") # WIDTHxHEIGHT+X+Y
root.mainloop()
Il rettangolo si trova in cima ai due ovali. C'è un modo in cui posso rendere il rettangolo parzialmente trasparente (quindi i contorni degli ovali possono essere visti)?
Come si fa a sapere questo? Dove diavolo è documentato? Oh, la frustrazione! –
@MatthewWalker: lo so perché nessuna documentazione dice che puoi. La documentazione ufficiale di tk è molto precisa e completa e in nessun posto menziona i canali alfa. –
Grazie per questo chiarimento. Ciò renderebbe abbastanza difficile fornire una fonte: o) Dato che non è possibile farlo in modo nativo in Tkinter, esiste un'alternativa? Stavo pensando di usare Cairo per rendere un'immagine che potrebbe essere visualizzata in una tela. Qualche idea migliore? –