0

我创建了一个动画图像,它在 UIImageView 中正确动画:

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIImage *image1 = [UIImage imageNamed:@"apress_logo"];
    UIImage *image2 = [UIImage imageNamed:@"Icon"];
    UIImage *animationImage = [UIImage animatedImageWithImages:[NSArray arrayWithObjects:image1, image2, nil] duration:0.5];
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
    imageView.image = animationImage;
    [self.view addSubview:imageView];
}

但如果保存到相册,它就不能为 agian 设置动画:

UIImageWriteToSavedPhotosAlbum(animationImage, 
                               self,
                               @selector(imageSavedToPhotosAlbum:didFinishSavingWithError:contextInfo:),
                               nil);

那么有什么解决方案可以将动画图像保存到相册吗?

特别感谢!

4

1 回答 1

0

相册也是一个应用程序,就像您正在制作的一样。除了为您编写相应代码的图像设置动画之外,

UIImage *animationImage = [UIImage animatedImageWithImages:[NSArray arrayWithObjects:image1, image2, nil] duration:0.5];
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
    imageView.image = animationImage;

但是您假设您的图片也会在您的相册应用程序中以类似的方式处理。那么不,那不是真的。在相册应用程序中,应用程序可能只是从磁盘读取图像,然后在 UIImageView 中显示,没有任何动画“因为没有动画代码”:)

这为创建带有动画图像的相册创造了机会。


我见过像 Quartz Composer 这样的程序从多个图像创建 .mov 文件并为其创建动画。但那是苹果专业打造的。现在,我说是因为我认为使用 API 创建 .mov 是可能的,但您可能需要更深入地挖掘,因为我不知道如何去做。

我能找到的最接近的参考是:

http://www.cimgf.com/2008/09/10/core-animation-tutorial-rendering-quicktime-movies-in-a-caopengllayer/

于 2012-07-03T02:55:26.340 回答