okay,
ich weiß, dass alle Pfad-Elemente in einem NSBezierPath immer mit der zuletzt gesetzten Farbe gezeichnet werden. Sprich, das Vorgehen
- stroke Farbe a setzen
- eine Linie malen
- stroke Methode aufrufen
- stroke Farbe b setzen
- eine weitere Linie zeichnen
- stroke Methode des selben NSBezierPaths aufrufen
... führt NICHT dazu, dass die erste Linie in Farbe a und die zweite in Farbe b gemalt wird.
Genau das hätt ich aber gern.
Nun weiß ich, dass die stroke- (und auch fill-) Farbe ja über eine Methode von NSColor (nicht etwa von NSBezierPath) gesetzt wird und im aktuellen GraphicsContext gespeichert wird.
Leider hilft aber auch das vorherige Speichern des GraphicsContexts nichts, sprich, das hier:
- aktuellen GraphicsContext sichern
- stroke Farbe a setzen
- eine Linie malen
- stroke Methode aufrufen
- gesicherten GraphicsContext zurückholen
- stroke Farbe b setzen
- eine weitere Linie zeichnen
- stroke Methode des selben NSBezierPaths aufrufen
... tut genauso wenig.
Ist die einzige Lösung, ZWEI unabhängige NSBezierPaths anzulegen? Aber dann verstehe ich eins nicht: die stroke Farbe wird ja eben NICHT im NSBezierPath gesetzt, sondern über eine NSColor Methode. Wie sagen ich denn dann dem ersten NSBezierPath, dass er bitteschön Farbe a haben soll und dem zweiten, dass er Farbe b haben soll?
Danke für eure Mithilfe & viele Grüße,
Stefan.
ich weiß, dass alle Pfad-Elemente in einem NSBezierPath immer mit der zuletzt gesetzten Farbe gezeichnet werden. Sprich, das Vorgehen
- stroke Farbe a setzen
- eine Linie malen
- stroke Methode aufrufen
- stroke Farbe b setzen
- eine weitere Linie zeichnen
- stroke Methode des selben NSBezierPaths aufrufen
... führt NICHT dazu, dass die erste Linie in Farbe a und die zweite in Farbe b gemalt wird.
Genau das hätt ich aber gern.
Nun weiß ich, dass die stroke- (und auch fill-) Farbe ja über eine Methode von NSColor (nicht etwa von NSBezierPath) gesetzt wird und im aktuellen GraphicsContext gespeichert wird.
Leider hilft aber auch das vorherige Speichern des GraphicsContexts nichts, sprich, das hier:
- aktuellen GraphicsContext sichern
- stroke Farbe a setzen
- eine Linie malen
- stroke Methode aufrufen
- gesicherten GraphicsContext zurückholen
- stroke Farbe b setzen
- eine weitere Linie zeichnen
- stroke Methode des selben NSBezierPaths aufrufen
... tut genauso wenig.
Ist die einzige Lösung, ZWEI unabhängige NSBezierPaths anzulegen? Aber dann verstehe ich eins nicht: die stroke Farbe wird ja eben NICHT im NSBezierPath gesetzt, sondern über eine NSColor Methode. Wie sagen ich denn dann dem ersten NSBezierPath, dass er bitteschön Farbe a haben soll und dem zweiten, dass er Farbe b haben soll?
Danke für eure Mithilfe & viele Grüße,
Stefan.

