iOS GIF图片分解保存单张图片

GIF图像分解保存为单张图片的方法:

OC
	NSURL *fileUrl = [[NSBundle mainBundle] URLForResource:@"图片名称" withExtension:@"gif"]; //加载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];                  //将图片源转换成UIimage
        [frames addObject:imageName];                                              //将图片加入数组中
        CGImageRelease(imageRef);
    }
swift
	let gifPath:NSString = Bundle.main.path(forResource:"图片名称", ofType: "gif")! as NSString
	let gifData:Data = try! Data(contentsOf:Url(fileURLWithPath:gifpath as String)
	let gifDataSource:CGImageSource = CGImageSourceCreateWithData(gifData as CFData, nil)!
	let gifImageCount:Int = CGImageSourceGetCount(gifDataSource)
	var gifImageArr = [UIImage]()
	for i in 0...gifImageCount-1 {
		let imageref:CGImage? = CGImageSourceCreatImageAtIndex(gifDataSource, i, nil)
		let image:UIImage = UIImage(cgImage:imageref!,scale:UIScreen.main.scale, orientation:UIImageOrientation.up)
		gifImageArr.append(image)
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值