ibireme / YYImage

Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more.
MIT License
1.77k stars 482 forks source link

YYCGImageCreateWithWebPData decode animated webp #58

Open PhilCai1993 opened 8 years ago

PhilCai1993 commented 8 years ago
@implementation UIImage (WebP)

+ (UIImage *)xx_imageWithWebPData:(NSData *)data {
  CFDataRef dataRef = (__bridge CFDataRef)data;
  YYImageType type = YYImageDetectType(dataRef);
  NSInteger frameCount = YYImageGetWebPFrameCount(dataRef);
  CGImageRef cgImageRef = YYCGImageCreateWithWebPData(dataRef, YES, NO, NO, NO);
  NSLog(@"type = %d, frameCount = %d", type, frameCount);
  UIImage *image = [UIImage imageWithCGImage:cgImageRef];
  return image;
}

@end

如果data是animated webp, YYCGImageCreateWithWebPData生成的image该怎么生成动态的UIImage呢?

dreampiggy commented 7 years ago

Learn from here: https://github.com/rs/SDWebImage/blob/master/SDWebImage/UIImage%2BWebP.m#L122

That UIKit suck API(+[UIImage animatedImageWithImages:duration:) so I must use this hack to create _UIAnimatedImage.