Seite 1 von 1

Transparenter Circle

Verfasst: Montag 21. März 2016, 17:46
von Mungo1981
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

Re: Transparenter Circle

Verfasst: Dienstag 22. März 2016, 12:06
von Sr4l
Die Linie soll bei der einen hälfte des Kreises davor liegen und bei der anderen dahinter um einen 3D Effekt zu erzielen?

Re: Transparenter Circle

Verfasst: Dienstag 22. März 2016, 12:22
von miracle173
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?

Re: Transparenter Circle

Verfasst: Dienstag 22. März 2016, 12:25
von 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. :-)

Re: Transparenter Circle

Verfasst: Freitag 25. März 2016, 12:58
von Mungo1981
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