前言:
压缩图片其实不是一个动作,而是两个:“压”和“缩”
压:损失图片的质量,直观的感觉就是清晰度下降
缩:缩小图片的尺寸,直接的感觉就是图片变小了
如何“压”一个图片
苹果提供了两个压图片的方法:
//传入UIImage对象、图片质量,得到Data对象
var newImgData = UIImageJPEGRepresentation(image, 0.1)!
//此方法没用过,感觉没啥用,尤其是对于压缩需求
var newImgData = UIImagePNGRepresentation(image)
知识拓展:上述方法将图片转成了Data对象,只需要一个初始化方法就能将Data对象转成图片
var newImg = UIImage.init(data: newImgData)!
如何“缩”一个图片
/*这是一个画图操作*/
//创建画板,传入画板大小
UIGraphicsBeginImageContext(CGSize.init(width: 120, height: 180))
//将图片绘制在画板上,newImg是一个UIImage对象
newImg.draw(in: CGRect.init(x: 0, y: 0, width: 120, height: 180))
newImg = UIGraphicsGetImageFromCurrentImageContext()!
拓展说明
1、图片的“压”是有所限度的,传入0.1、0.001、0.0001差别不大
2、UIImage有size属性
2、Data有count属性,通过这个属性能得到图片的大小
网友评论