Invierta la máscara CALayer que se basa en un trazo (sin relleno)

Estimada comunidad de desbordamiento de pila,

Tengo un problema relacionado con la propiedad de máscara de unCAShapeLayer en iOS (Swift).

Lo que estoy tratando de lograr es unborrador que borra partes de una capa de imagen enmascarándola. El problema viene cuando trato de invertirlo.

Encontré algunas buenas respuestas al invertir una ruta, pero estas solo fueron útiles al usar unlleno camino. Lo que intento hacer escarrera un camino y use el invertido para enmascarar una imagen. El ancho de línea en el trazo debería ser alrededor de30.0 entonces parece una goma de borrar.

Intenté cosas diferentes. Mi versión actual se ve así:

Crear unCAShapeLayer que mantiene el camino del trazo del borradorSelecciona elfill-color de la capa anilSelecciona elstroke-color yline widthAgregue la capa como la máscara de la capa de imagen

Esto funciona bien, pero solo hace visibles las partes de la imagenque están dentro del trazo. Quiero hacerloinvertido. Pensé en una máscara en blanco y negro, pero esto no funciona, porque la máscara se entrega a través del canal alfa.

¿Alguien tiene una idea de cómo resolver el problema?

Respuestas a la pregunta(1)

Su respuesta a la pregunta