图片压缩:
NSData *imageData
= UIImageJPEGRepresentation(self.uploadImage
, 0.55);
NSString
*file_name = [TimeUtil getDateStringWithFormat:@"yyyy-MM-dd"];
NSString
*upload_name =[NSString stringWithFormat:@"%@.jpg",file_name ];
[request setData:imageData withFileName:upload_nameandContentType:@"image/jpeg" forKey:@"upload_file"];
UIImageJPEGRepresentation 函数须要两个參数:图片的引用和压缩系数.
UIImagePNGRepresentation仅仅须要图片引用作为參数.
比較发现:
UIImagePNGRepresentation(UIImage* image) 要比UIImageJPEGRepresentation(UIImage* image, 1.0) 返回的图片数据量大非常多.
譬如,相同是读取摄像头拍摄的相同景色的照片
UIImagePNGRepresentation()返回的数据量大小为199K
而 UIImageJPEGRepresentation(UIImage* image, 1.0)返回的数据量大小仅仅为140KB
比前者少了50多KB.
假设对图片的清晰度要求不高,还能够通过设置 UIImageJPEGRepresentation函数的第二个參数,大幅度减少图片数据量.
譬如,刚才拍摄的图片, 通过调用UIImageJPEGRepresentation(UIImage* image, 1.0)读取数据时,返回的数据大小为140KB
但更改压缩系数后,通过调用UIImageJPEGRepresentation(UIImage*
image, 0.5)读取数据时,返回的数据大小仅仅有11KB多,
大大压缩了图片的数据量
并且从视角角度看,图片的质量并没有明显的减少.因此,在读取图片数据内容时,建议优先使用UIImageJPEGRepresentation