Luchando para borrar todos los datos de un CGLayer - puede que incluso puede hacer?

StackOverflow https://stackoverflow.com/questions/4594330

  •  15-10-2019
  •  | 
  •  

Pregunta

Estamos haciendo una forma repetitiva CGLayer, haciendo procesamiento, y luego soltarlo. Esto ocurre muchas veces en tiempo real. Sin duda, hay un montón de gastos en la fabricación de un nuevo conjunto CGLayer cada vez. Así que ...

¿No sería mejor simplemente mantener la capa alrededor, y borrar todos los datos de ella cada vez -. En lugar de crear uno nuevo desde cero

Nota:. Si pintas en un rectángulo blanco o transparente que cubre todo, que sólo añade aún más datos en la parte superior de sus caminos existentes

Por lo tanto, la forma de realidad "borrado" o "empezar de nuevo" a CGLayer?

Hay una función CGContextBeginPath (cc), pero es confuso: parece que sólo para limpiar "que" ruta, no aparece para borrar toda la vuelta CGLayer a estado .

Cómo devolver un CGLayer a un estado de no-datos? ¿Alguien sabe?

Actualización ...

Resulta que en realidad no hay manera de hacerlo.

Después de una considerable experimentación, hemos determinado que no parece haber ninguna manera de limpiar todos los datos de un CGLayer (lo cual es decepcionante en realidad).

Tenga en cuenta que la adición de un nuevo rectángulo blanco o claro, sólo se hace eso -. Realmente añade más datos

Así que por desgracia hay manera conocida para hacer esto. Si usted está construyendo estos en alta Hz (tal vez para un cálculo), sólo hay que comenzar con uno nuevo cada vez. O bien, puede parecer eliminar (en realidad eliminar, no sólo cubierta) sólo el uno ruta utilizando CGContextBeginPath ().

Esperamos que esto ayudará a alguien en el futuro.

¿Fue útil?

Solución

Una vez que tenga la llamada contexto CGContextClearRect (cc, someRect) para borrar el contenido.

Otros consejos

¿Por qué no sólo tiene que rellenar con un rectángulo de (blanco claro /) Color? Asegúrese de que la capa no es opaco si quieres borrar con clearColor (transparente).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top