iOS: 2-Schritt-Bildverarbeitung mit CoreGraphics

8

Mit CoreGraphics (innerhalb meiner drawRect-Methode) versuche ich, einen Mischmodus auf ein Bild anzuwenden (transparentes png) und dann das Alpha des Ergebnisses anzupassen. Ich gehe davon aus, dass dies in zwei Schritten geschehen muss, aber ich könnte falsch liegen. Hier ist, was ich bisher habe (was gut funktioniert):

%Vor%

Ich gehe davon aus, dass ich all das irgendwo in einen anderen Kontext schreiben muss, rufe CGContextSetAlpha(...) auf und ziehe es dann wieder in meinen ursprünglichen Kontext zurück, aber ich bin nicht sicher, wie. Wenn ich den Alpha-Wert vor meinem letzten CGContextFillRect-Wert anwähle, wird nur die Menge geändert, auf die der Mischmodus angewendet wurde, nicht das Alpha des gesamten Bildes.

EDIT: Screenshot gepostet

Vielen Dank im Voraus.

    
Chazbot 05.05.2011, 18:47
quelle

1 Antwort

9

Mit Transparenz-Layern können Sie die Überblendung auf ein Bild anwenden, das mit 100% gezeichnet wurde, und das Ergebnis bei 50% anzeigen. Das Ergebnis sieht folgendermaßen aus:
Ich benutzte den strukturierten Hintergrund, so dass Sie deutlich sehen konnten, dass das untere Bild für alles 50% transparent ist, anstatt nur das andere Bild, wie es bei meinem vorherigen Versuch der Fall war. Hier ist der Code:

%Vor%

Bearbeiten: Der alte Inhalt wurde entfernt, da er viel Platz in Anspruch nahm und nicht hilfreich war. Schauen Sie in den Revisionsverlauf, wenn Sie ihn sehen möchten.

    
ughoavgfhw 07.05.2011, 19:39
quelle