Ich möchte einen Schatten um die OUTSIDE-Kante eines HOLLOW CGPath hinzufügen (diese beiden Wörter sind kritisch: außen + hohl :)).
Die Schattenimplementierung von Apple ermöglicht Ihnen nur "gefüllte" Schatten.
Also ... wie man den inneren Teil des Schattens selbst abschneidet? Wenn es sich um einen Render-Aufruf handeln würde, würde ich CGContextSetClip * -Methoden aufrufen, um es an den gewünschten Platz zu bringen ... aber ich kann nicht sehen, wie Sie es verstehen würden, da es weder ein Render-Aufruf noch ein CALayer selbst ist .
(eine unglückliche Konsequenz von Apple "versteckt" es als eine Reihe von magischen Variablen, denke ich?)
Hinweis: Dies ist nur iOS - IIRC auf Mac haben Sie direkten Zugriff auf die Filter, die zum Erstellen von Schatten verwendet werden, so dass Sie Ihre eigenen (willkürlichen) Schatten von Hand erstellen können.
UPDATE:
Ich habe herausgefunden, wie man mit dem Clip nur den INNEREN Teil des Schattens darstellen kann: setze die "layer.mask" als neue Ebene, die ein Klon der aktuellen Ebene ist (dh den gleichen Pfad) und setze den Pfad fillcolor zu allem mit vollem Alpha.
Das ist das Gegenteil von dem, was ich versuche. Wenn ich also einen Weg finden könnte, die Maskenebene Alpha zu spiegeln (0 wird 1, 1 wird 0), wäre ich da ...
Angenommen, Sie haben eine Methode:
%Vor%... dann tu das:
d. im Code:
%Vor%NB: Das funktioniert tatsächlich, außer dass der Schatten ein wenig größer wird, als wenn ich nicht maskiert hätte. Na gut.
Tags und Links ios calayer core-graphics