iOS gif图片展示

2020-12-22  本文已影响0人  percivals

GIF图片展示原理:
将GIF图片转换成对应的图片源,获取到每一帧的原图,将原图数组赋值给UIImageView,进行展示

        NSURL *fileUrl = [[NSBundle mainBundle] URLForResource:@"scrollToRight" withExtension:@"gif"];
        CGImageSourceRef gifSource = CGImageSourceCreateWithURL((CFURLRef) fileUrl, NULL);          //将GIF图片转换成对应的图片源
        size_t frameCout = CGImageSourceGetCount(gifSource);                                        // 获取其中图片源个数,即由多少帧图片组成
        NSMutableArray *frames = [[NSMutableArray alloc] init];                                      // 定义数组存储拆分出来的图片
        for (size_t i = 0; i < frameCout; i++) {
            CGImageRef imageRef = CGImageSourceCreateImageAtIndex(gifSource, i, NULL); // 从GIF图片中取出源图片
            UIImage *imageName = [UIImage imageWithCGImage:imageRef];                  // 将图片源转换成UIimageView能使用的图片源
            [frames addObject:imageName];                                              // 将图片加入数组中
            CGImageRelease(imageRef);
        }
        
        UIImageView *gifView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, PADRP_RateForWidth(236), PADRP_RateForWidth(178))];
        gifView.animationImages = frames;
        gifView.animationDuration = 1; // 每次动画时长
        [gifView startAnimating];        // 开启动画
上一篇下一篇

猜你喜欢

热点阅读