我已经能够在iPhone 3GS上获得接近10 FPS的稳固JPG切换,但我发现GPU和CALayer的速度更快。你能帮我确定一下如何做到这一点吗?我在下面尝试过各种各样的东西。
这是我一直在使用的......
#define FPS 12.0
[NSTimer scheduledTimerWithTimeInterval:(1.0 / FPS) target:self selector:@selector(animateMethod:) userInfo:nil repeats:YES];
请注意,方法baseImagePath为每次调用返回不同的路径。
- (void)animateMethod:(NSTimer *)timer
{
self.imageView.image = [UIImage imageWithContentsOfFile:[self baseImagePath]];
}
这是我尝试过的......
- (void)animateMethod:(NSTimer *)timer
{
self.layerView.layer.contents = [(__bridge id)([[UIImage imageWithContentsOfFile:[self baseImagePath]] CGImage]);
}
答案 0 :(得分:0)
我认为你可以从不同的角度来解决这个问题,以达到你想要的效果。您可以利用UIImageView
的动画属性来完成此任务。您可以按照希望它们在动画中显示的顺序将图像预先加载到数组中。然后设置UIImageView
。
NSMutableArray *images = [NSMutableArray array];
for (int i = 0; i < 16; i++) {
UIImage *image = [UIImage imageNamed: [NSString stringWithFormat: @"image_%d.jpg", i]];
[images addObject: image];
}
[self.myImageView setAnimationImages: images];
[self.myImageView setAnimationDuration: 0.5]; // Image view will loop through all images in half a second.
[self.myImageView setAnimationRepeatCount: 0]; // Infinite looping
[self.myImageView startAnimating];