- + (NSMutableArray *)praseGIFDataToImageArray:(NSData *)data;
- {
- NSMutableArray *frames = [[NSMutableArray alloc] init];
- CGImageSourceRef src = CGImageSourceCreateWithData((CFDataRef)data, NULL);
- CGFloat animationTime = 0.f;
- 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);
- NSDictionary *properties = (NSDictionary *)CGImageSourceCopyPropertiesAtIndex(src, i, NULL);
- NSDictionary *frameProperties = [properties objectForKey:(NSString *)kCGImagePropertyGIFDictionary];
- NSNumber *delayTime = [frameProperties objectForKey:(NSString *)kCGImagePropertyGIFUnclampedDelayTime];
- animationTime += [delayTime floatValue];
- if (img) {
- [frames addObject:[UIImage imageWithCGImage:img]];
- CGImageRelease(img);
- }
- }
- CFRelease(src);
- }
- return frames;
- }
解析gif图得到图片数组
最新推荐文章于 2022-08-29 19:55:08 发布