我想,以减少从采取图像文件大小UIImagePickerController
。 我用这个方法
的NSData *的imageData = UIImageJPEGRepresentation(图像,0.1);
但它减少2.2 MB图像文件大小300 KB我希望我的图像文件的大小变得比100 KB少。
我想,以减少从采取图像文件大小UIImagePickerController
。 我用这个方法
的NSData *的imageData = UIImageJPEGRepresentation(图像,0.1);
但它减少2.2 MB图像文件大小300 KB我希望我的图像文件的大小变得比100 KB少。
以减少公斤图像尺寸最简单的方法是减少像素的大小! 它的规模较小:
CGFloat scaleSize = 0.2f;
UIImage *smallImage = [UIImage imageWithCGImage:image.CGImage
scale:scaleSize
orientation:image.imageOrientation];
苹果的文档状态:
所得到的JPEG图像的质量,表示为从0.0到1.0的值。 值0.0表示最大压缩(或最低质量),而值1.0表示至少压缩(或最佳质量)。
而且,由于压缩质量是CGFloat的,它支持超过十位小数。 话虽这么说,请尝试:
NSData *imageData = UIImageJPEGRepresentation(image, 0.032);
第一调整用下面方法中的图像:
- (UIImage *)resizeImage:(UIImage*)image newSize:(CGSize)newSize {
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
通过调用这个:
UIImage *newImage=yourImage;
CGSize size=CGSizeMake(newImage.size.width/8,newImage.size.height/8);
newImage=[self resizeImage:newImage newSize:size];
最后压缩图像的要求:
NSData *imageData = UIImageJPEGRepresentation(newImage, 0.5);
NSLog(@"Size of image = %lu KB",(imageData.length/1024));