ios - Aplicar filtro GPUImage a una UIView
filter effect (3)
Es posible que pueda lograr el aspecto que busca aplicando CIFilter
a su propiedad de layer.filters
views. Verifique los documentos para obtener más información:
Tengo un problema. Necesito aplicar un filtro como Pixelate or Blur
a una UIView
completa. Al igual que la aplicación eBay iPad
.
Pensé usar GPUImage
pero no sé cómo hacerlo. ¿Hay alguna manera de aplicar un filtro a un GPUImageView
directamente sin pasar un UIImage
?
El principal problema es que hacer una captura de pantalla de una UIView
grande en un iPad
3er es costoso (2 segundos para el agarre UIWindow
). Entonces, la solución perfecta es aplicar filtro directamente a las vistas, al igual que la aplicación de eBay, pero ... ¿cómo?
¡Gracias a todos!
Tal vez esto es algo para ti? No lo he intentado, pero leí sobre él en una publicación una vez:
Oh, lo siento, leí tu publicación de nuevo y esta extensión trata sobre desenfocar un UIImage, y dijiste que esto era algo que no querías ... Bueno, lo dejaré aquí de todos modos si la gente usa Google para difuminar una imagen ... Lo siento :(
Para desplegar una vista en GPUImage, puede usar una fuente GPUImageUIElement, que toma una UIView o CALayer como entrada. Hay un ejemplo de esto en la aplicación de muestra FilterShowcase.
Esto se basa en el método -renderInContext:
de un CALayer subyacente, que puede ser costoso para volver a dibujar la vista. Sin embargo, si la vista es estática, solo necesita usar esta actualización una vez y la imagen resultante se almacenará en caché en la GPU como una textura. Las acciones de filtro aplicadas después de ese punto serán muy rápidas.