2010-09-20 3 views
5

ich ein Bild in eine CALayer setzen, die unregelmäßig transparent sein könnten:Wie man einen unregelmäßig geformten transparenten CALayer auf dem iPhone verdunkelt?

theCardLayer.front = [CALayer layer]; 
theCardLayer.front.contents = (id)[cardDrawing CGImage]; 

Mit anderen Worten, es könnte ein Quadrat die Schicht Füllung sein oder es könnte ein Achteck, das die Ecken see-through Blätter sein.

Ich möchte diese Schicht manchmal verdunkeln, aber ohne die durchsichtigen Bits zu verdunkeln. Irgendwelche Vorschläge, wie Sie dies auf programmatische Weise tun können?

Antwort

1

Werfen Sie einen Blick auf CGBlendMode; Eine Multiplikation, erstellt durch Erstellen einer neuen CGBitmapContext, Zeichnen des Bildes und dann einer grauen Füllung und Zuweisen des resultierenden Bildes zu Ihrer Ebene, sollte gut funktionieren.

+1

Ja, aber schrecklich langsam. Eine Schnecke läuft schneller. – openfrog

0

Sie können eine CGShapeLayer verwenden. Stellen Sie den Pfad auf die Form ein, die Sie zeichnen möchten. Sie können Formebenen auch als Masken für andere Ebenen verwenden, wenn Sie das möchten.

Verwandte Themen