Seite 1 von 1
Alpha Color
Verfasst: Dienstag 29. Juli 2003, 08:29
von Andi
Halli Hallo Hallöle,
wie kann ich denn Formen (rechtecke, ovale) innerhalb einer canvas erzeugen welche mit einer transparenten farbe gefüllt sind.
[Tkinter] Alpha Color
Verfasst: Dienstag 29. Juli 2003, 13:59
von Voges
Hallo!
Die Füllung soll farbig, aber durchscheinend sein? Das lässt sich nur über 'Stipple Pattern' realisieren, die als Bitmap-Datei vorliegen müssen. Beispiel für ein solche Datei mit 50% Deckung(?):
Code: Alles auswählen
#define gray50_width 16
#define gray50_height 16
static unsigned char gray50_bits[] = {
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa};
Das Canvas wird dann erzeugt mit
create_oval(..., stipple='@gray50.xbm', ...).
hth
Jan
Verfasst: Dienstag 29. Juli 2003, 14:31
von Dookie
Hi Voges,
das schaut aber nicht nach Python aus
Code: Alles auswählen
from array import array
gray50_bits = array('B',[
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa])
Gruß
Dookie
Verfasst: Dienstag 29. Juli 2003, 17:58
von Voges
Hallo!
Dookie hat geschrieben:das schaut aber nicht nach Python aus
Das ist typisch für Bitmap-Dateien
Da stehe ich etwas auf dem Schlauch. Wie muss denn dann der create_oval()-Aufruf aussehen?
Jan
Verfasst: Dienstag 29. Juli 2003, 19:00
von Dookie
sollte dann (laut Tkinterdoku) mit create_oval(..., stipple=gray50_bits, ...) gehen, aber man kann da ja auch die vordefinierten xbm's verwenden also create_oval(..., stipple="gray50", ...)
Gruß
Dookie