programas - pasar fotos de iphone a pc windows 10
Método para animar imágenes(como una película) en iPhone sin usar MPMoviePlayer (3)
Necesito poder mostrar una animación sobre una imagen estática.
Dado que MPMoviePlayer no le da control sobre nada útil, la única forma en que puedo pensar es utilizar múltiples imágenes estáticas, que mostramos (una por una) para crear una animación "similar a una película".
Sé que podríamos usar UIImageView para hacer esto (configurando la propiedad UIImageView animationImages y luego llamando a startAnimation ), sin embargo vamos a tener más de 100 imágenes en nuestra animación, por lo que el uso de la memoria se agotará.
¿Alguien tiene alguna buena manera de hacer este tipo de animación? ¿Usando Core Animation u OpenGL?
Supongo que necesitaríamos crear un buffer de imagen, y mientras cargamos nuevas imágenes, ¿mostramos imágenes del buffer de imagen?
Como habrás descubierto, usar UIImageView.animationImages no funciona porque consume toda la memoria del sistema e interrumpe tu aplicación. Puede usar un temporizador y establecer la propiedad de la imagen del UIImageView cada vez que se dispara el temporizador, el objeto UIImage que utiliza, ya que el contenido debería cargarse cada vez que se dispara el temporizador. Eso es básicamente lo mismo que el enfoque descrito en la otra respuesta, excepto que usa CALayer en lugar de UIImageView. Cargar una imagen y cambiar los contenidos de la imagen cada vez que se dispara el temporizador es un enfoque aceptable, pero solo podrá obtener sus 11 FPS en un iPhone para obtener imágenes de pantalla completa.
Si desea utilizar un ejemplo de trabajo que implemente la lógica de conmutación de UIImageView, descargue este proyecto de ejemplo de PNG Animation para xcode. También proporciono la biblioteca AVAnimator , una versión optimizada del mismo tipo de funcionalidad, admite la animación Quicktime y los formatos APNG, así como la compresión.
Para animar imágenes en secuencia,
Primero tome una matriz de imágenes que necesita para jugar.
Luego dale esta matriz a la animación y listo.
Bien Explicación Animación en Iphone: Serie de imágenes
Puede usar un CALayer de Animación Core para alojar su animación, y cambiar una serie de CALayers dentro y fuera de esa capa principal para realizar su animación fotograma a fotograma. Puede establecer el contenido de un CALayer de alojamiento de marcos de imágenes en un CGImageRef usando su propiedad de contenido. Se podría crear y almacenar una serie de Calayers que contengan sus imágenes en un NSMutableArray, según sea necesario, y luego eliminarlos cuando termine para minimizar el uso de la memoria.
Puede establecer la duración de la transición entre fotogramas al ajustar replaceSublayer: con: llamada de método en una rama de CAT, como la siguiente:
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:0.25f] // 1/4th of a second per frame
forKey:kCATransactionAnimationDuration];
[mainLayer replaceSublayer:[imageLayers objectAtIndex:oldImageIndex] with:[imageLayers objectAtIndex:newImageIndex]];
[CATransaction commit];
También podría salirse con la suya intercambiando CGImageRef en el contenido de su capa principal, si el tiempo de visualización de su fotograma es lo suficientemente corto.