坑一:本地上传的jpg图片可能已经经过压缩,使用NSData * UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality);方法取出Data数据时,compressionQuality如果取1.0,得到的数据会比原图更大,一般取0.7时的大小是原图大小。
坑二:压缩好的NSData数据经过+ (UIImage *)imageWithData:(NSData *)data;方法得到UIImage后,可能会比原图更大,导致压缩失效。
坑三:如果压缩图片只是为了减少上传流量,那么就不必使用imageWithData转换为UIImage,因为上传时用的是NSData,直接使用压缩后的NSData就行了。
网友评论