Leg*_*nus 7 iphone frame-rate image objective-c animated-gif
我试图从gif文件获取每秒帧数,我正在将gif文件转换为NSData,然后从NSData我使用此代码获取一个帧数组: - (NSMutableArray*)getGifFrames:(NSData*)数据{
NSMutableArray *frames = nil;
CGImageSourceRef src = CGImageSourceCreateWithData((CFDataRef)data, NULL);
if (src) {
size_t l = CGImageSourceGetCount(src);
frames = [NSMutableArray arrayWithCapacity:l];
for (size_t i = 0; i < l; i++) {
CGImageRef img = CGImageSourceCreateImageAtIndex(src, i, NULL);
if (img) {
[frames addObject:[UIImage imageWithCGImage:img]];
CGImageRelease(img);
}
}
CFRelease(src);
}
return frames;
Run Code Online (Sandbox Code Playgroud)
}
无论如何我能得到GIF的FPS吗?谢谢
Ant*_*ake 11
GIF文件不包含FPS值,而是每个帧包含持续时间.
每个帧都包含一个标题.
十六进制字节数324包含以百分之一秒为单位的帧持续时间,例如09 00将是0.09秒.
编辑:参考http://en.wikipedia.org/wiki/Graphics_Interchange_Format#Animated_GIF