获取GIF文件每一帧的图片
我们平时使用SDWebImage/GIF加载图片习惯了,但是有时候确实需要获取GIF图片文件每一帧的图片,我们直接上代码
- (NSArray *)processingGIFPictures:(NSString *)name
{
//获取Gif文件
NSURL *gifImageUrl = [[NSBundle mainBundle] URLForResource: name withExtension:@"gif"];
//获取Gif图的原数据
CGImageSourceRef gifSource = CGImageSourceCreateWithURL((CFURLRef)gifImageUrl, NULL);
//获取Gif图有多少帧
size_t gifcount = CGImageSourceGetCount(gifSource);
NSMutableArray *images = [[NSMutableArray alloc] init];
for (NSInteger i = 0; i < gifcount; i++) {
//由数据源gifSource生成一张CGImageRef类型的图片
CGImageRef imageRef = CGImageSourceCreateImageAtIndex(gifSource, i, NULL);
UIImage *image = [UIImage imageWithCGImage:imageRef];
[images addObject:image];
CGImageRelease(imageRef);
}
//得到图片数组
return images;
}
就这样我们获取了GIF图片文件每一帧的帧图了,接下来就可以为所欲为了-_-
网友评论