作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试从 gif 文件中获取每秒的帧数。我正在将 gif 文件转换为 NSData,然后使用以下代码从该 NSData 获取一组帧:
-(NSMutableArray *)getGifFrames:(NSData *)data{
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;
}
有什么办法可以得到gif的FPS吗?
最佳答案
GIF 文件不包含 FPS 值,而是每个帧包含一个持续时间。
每一帧都包含一个标题。
十六进制字节数 324 包含以百分之一秒为单位的帧持续时间,例如 09 00 将是 0.09 秒。
编辑:引用 http://en.wikipedia.org/wiki/Graphics_Interchange_Format#Animated_GIF
关于iphone - 如何从 gif 文件中获取每秒的帧数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9599547/
我是一名优秀的程序员,十分优秀!