Wie kann ich ein transparentes Loch in einem UIImage "schneiden"?

8

Ich versuche ein transparentes Quadrat in einem UI-Bild zu schneiden, aber ich muss ehrlich wissen, wo / wie ich anfangen soll.

Jede Hilfe würde sehr geschätzt werden.

Danke!

    
Phillip 04.05.2014, 03:04
quelle

2 Antworten

15

Nehmen Sie an, dass Ihr Bild in einer Ansicht angezeigt wird - wahrscheinlich eine UIImageView. Dann können wir ein rechteckiges Loch in diese Ansicht stanzen, indem Sie die Ebene der Ansicht maskieren . Jede Ansicht hat eine Ebene. Wir werden auf die Ebene dieser Ansicht eine Maske anwenden, die selbst eine Ebene ist, die ein Bild enthält, das wir im Code erzeugen werden. Das Bild wird schwarz sein, bis auf ein klares Rechteck irgendwo in der Mitte. Dieses durchsichtige Rechteck wird das Loch in der Bildansicht verursachen.

Lassen Sie also self.iv diese UIImageView sein. Versuchen Sie, diesen Code auszuführen:

%Vor%

In diesem Bild ist das weiße Quadrat beispielsweise kein überlagertes Quadrat, sondern ein Loch, das das Weiß des dahinter liegenden Fensters zeigt:

BEARBEITEN : Ich fühle mich verpflichtet, da ich es in einem Kommentar erwähnt habe, um zu zeigen, wie man dasselbe mit einem CAShapeLayer macht. Das Ergebnis ist genau das gleiche:

%Vor%     
matt 04.05.2014, 04:25
quelle
6

Hier ist eine einfache Swift-Funktion cut#hole#inView zum Kopieren und Einfügen für 2017

%Vor%     
Fattie 19.02.2017 18:49
quelle