使用 IOS 计算延迟时间和总动画时间

Posted

技术标签:

【中文标题】使用 IOS 计算延迟时间和总动画时间【英文标题】:Calculating Delay Time And Total Animation Time using IOS 【发布时间】:2013-06-12 06:57:03 【问题描述】:

我正在从一组图像创建动画并将它们转换为 gif 文件。我只有用户提供的 FPS,例如 30fps,如何计算使用 kCGImagePropertyGIFDelayTime 和 imageview 中使用的总渲染时间创建 gif 图像的延迟时间。 AnimationDuration 我的代码到现在如下。对于动画图像:

imageview=[[UIImageView alloc]initWithFrame:frame];
imageview.animationImages=arrImages;
imageview.contentMode=UIViewContentModeScaleAspectFit;
prog=float prog=((1/slide.value)*totalimgcount);
imageview.animationDuration = prog;
imageview.animationRepeatCount = 0;
[imageview startAnimating];

用于创建 Gif 文件

imgData         = [[NSMutableData data] retain];
CGImageDestinationRef dest=CGImageDestinationCreateWithData((CFMutableDataRef) imgData, kUTTypeGIF,
[arrImages count],
NULL);




NSDictionary *frameProperties = [NSDictionary dictionaryWithObject:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:1/slide.value] forKey:(NSString *)kCGImagePropertyGIFDelayTime]
                                                            forKey:(NSString *)kCGImagePropertyGIFDictionary];
NSDictionary *gifProperties = [NSDictionary dictionaryWithObject:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:0] forKey:(NSString *)kCGImagePropertyGIFLoopCount]
                                                          forKey:(NSString *)kCGImagePropertyGIFDictionary];

for (UIImage *img in arrImages) 
    CGImageDestinationAddImage(dest, img.CGImage, (CFDictionaryRef)frameProperties);


CGImageDestinationSetProperties(dest, (CFDictionaryRef)gifProperties);
CGImageDestinationFinalize(dest);
CFRelease(dest);

请帮忙,在iphone中渲染的动画非常快,创建的gif非常慢......

【问题讨论】:

【参考方案1】:

图像查看持续时间以秒为单位,而 gif 延迟以百分之几秒为单位,因此您不能使用完全相同的计算并在两种情况下获得完全相同的结果。

【讨论】:

但是任何有一些差异的算法都可以使用,但是在我的算法中,另一端的一切都运行得非常慢或非常快...... 根据您当前的代码,我预计速度会相差 100 倍。试试 [NSNumber numberWithInt:100/slide.value]

以上是关于使用 IOS 计算延迟时间和总动画时间的主要内容,如果未能解决你的问题,请参考以下文章

为啥计算的可用和总驱动器空间上限为 2G?

风暴,螺栓延迟和总延迟之间的巨大差异?

每种房型和总房数如何计算?

计算总销量和总销售额

RoR 投票系统。如何计算票数、反对票和总票数?

手动计算聚类平方和 (BCSS) 和总平方和(R 中的聚类)