Transparenter Circle

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Mungo1981
User
Beiträge: 131
Registriert: Montag 27. August 2012, 19:05

Liebe Community,
:? folgender Code ist gegeben

Code: Alles auswählen

w, h = self.GetClientSize()
        dc = wx.AutoBufferedPaintDC(self)
        dc.Clear()
        dc.DrawLine(0, 0, w, h)
        dc.SetPen(wx.Pen((12,123,200), 5))
        dc.DrawCircle(w / 2, h / 2, 100)
        dc.DrawCircle()
Dabei wird ein Kreis über eine Linie gezeichnet :?
:shock: Dazu zwei Fragen:
1. Ist es möglich den Kreis so zu erstellen dass die Linie sichtbar durch den Kreis geht.
1a. Aber nicht einfach die Linie über den Kreis gezeichnet wird
2. Und wenn 1. == true:
Wie macht man dass. :shock:

Ein etwas verlesener
Mungo198
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Die Linie soll bei der einen hälfte des Kreises davor liegen und bei der anderen dahinter um einen 3D Effekt zu erzielen?
Benutzeravatar
miracle173
User
Beiträge: 127
Registriert: Samstag 6. Februar 2016, 00:28

Mungo1981 hat geschrieben:Liebe Community,
:? folgender Code ist gegeben
...
Mungo198
Ist es möglich, dass du ein lauffähiges Programm hier zur Verfügung stellts?
BlackJack

Oder soll vielleicht die Linie nur innerhalb des Kreises sichtbar sein, aber nicht ausserhalb? Eine genauere Beschreibung des Ziels und/oder eine Zeichnung wären eventuell hilfreich. :-)
Mungo1981
User
Beiträge: 131
Registriert: Montag 27. August 2012, 19:05

Liebe Community,
:oops: 4 Minuten nach dem ich dass geschrieben hatte fand ich die Lösung
Ich bitte um verzeihung dass ich nicht gründlicher gesucht habe. :oops:
:? Es ging rein darum die Linie Sichtbar durch den Kreis zu machen. :?
:shock: Dazu habe ich verstanden dass WXPython keinen alpha Channel unterstützt
Und dass man einfach den Style auf wx.Transparent zu setzen hat

Hier der Code der Lösung:

Code: Alles auswählen

 dc.SetPen(wx.Pen('#4c4c4c', 1, wx.TRANSPARENT))
 dc.DrawRectangle(250, 105, 90, 60)
:shock:

Noch einmal Entschuldigung ich hätte es besser machen müssen

LG Mungo1981
Antworten