我们常用的图片格式可以分为bmp,jpg,png,gif,webp,其中bmp常用语安卓端开发,iOS常用的是jpg和png,苹果默认是不支持gif图片的,我们拉取gif得到的是一帧帧的图片但是我们可以在工程中用代码生成gif图片,webp是google推出的一种新的图片格式,它的有点是可以将相同质量的图片大小缩减50%甚至更多,webp算法比较复杂,消耗内存较多,但基于其存储占用优势,以后可能会成为主流格式。下边先从jpg和png谈起,iOS中我们常用png,因为清晰度相同的两张图片,png是无损的,所占空间更小。
一、png和jpg相互转化
//jpg转化png
-(void)jpgToPng{
UIImage * image = [UIImage imageNamed:@"1.jpg"];
NSData * data = UIImagePNGRepresentation(image);
UIImage * pngImage =[UIImage imageWithData:data];
UIImageWriteToSavedPhotosAlbum(pngImage, nil, nil, nil);
}
//jpg转化jpg
-(void)jpgTojpg{
UIImage * image = [UIImage imageNamed:@"1.jpg"];
//后一个参数越小,则生成的图片越小,越模糊
NSData * data = UIImageJPEGRepresentation(image, 0.5);
UIImage * jpgImage =[UIImage imageWithData:data];
UIImageWriteToSavedPhotosAlbum(jpgImage, nil, nil, nil);
}
//png转化png
-(void)pngToJpg{
UIImage * image = [UIImage imageNamed:@"2.png"];
NSData * data = UIImageJPEGRepresentation(image, 0.5);
UIImage * jpgImage =[UIImage imageWithData:data];
UIImageWriteToSavedPhotosAlbum(jpgImage, nil, nil, nil);
}
二、gif图片分解
gif图片分解的步骤为
1.拿到gif数据
2.分帧
3.将单帧数据转化为图片
4.保存 首先我们需要先引入头文件
不知道为什么代码粘贴不进来(截图算了),需要demo的可移步到文末。
3.创建gif图片
别忘了引入头文件(受不鸟了,代码还是不能复制)
相关代码下载链接:下载链接
网友评论