优化从相机胶卷中拾取的图像以减小文件大小

JSA*_*986 2 cocoa-touch objective-c ios

在我的应用程序中,如果用户从相机胶卷中选择一个图像作为compnay徽标(添加到最终的pdf),它可以将附加文件大小从8mb(没有图像)到29mb.当用户通过电子邮件发送文件时,这是一个问题,大多数服务器允许附件大小

- (IBAction)schemeLogoPressed:(id)sender {
 LogCmd();
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    imagePicker.delegate = self;
    imagePicker.allowsEditing = NO;
    [self.editController presentModalViewController:imagePicker animated:YES];
   }    

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
 {
    DebugLog(@"info dict: %@", info);
    [picker dismissModalViewControllerAnimated:YES];
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    self.schemeLogo.backgroundColor = [UIColor whiteColor];
    self.schemeLogo.image = image;
    NSData *imageData1 = UIImagePNGRepresentation(image);
    NSString *path1 = [ICUtils pathForDocument:@"schemeLogo.png"];
    [imageData1 writeToFile:path1 atomically:NO];
Run Code Online (Sandbox Code Playgroud)

我可以做些什么来优化拾取的图像大小?

Lom*_*baX 5

改变这一行:

NSData *imageData1 = UIImagePNGRepresentation(image);
Run Code Online (Sandbox Code Playgroud)

至:

NSData *imageData1 = UIImageJPEGRepresentation(image, 0.9f);
Run Code Online (Sandbox Code Playgroud)

第二个参数(0.9浮点数)是质量.数量越多,质量越高.从0.0到1.0