2

私のアプリでは、ユーザーがカメラロールから画像を選択して会社のロゴとして使用する場合 (最終的な pdf に追加)、添付ファイルのサイズが 8 MB (画像なし) から 29 MB になる場合があります。これは、ほとんどのサーバーが添付ファイルのサイズを許可するよりも大きいため、ユーザーがファイルを電子メールで送信するときに問題になります

- (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];

選択した画像のサイズを最適化するためにできることはありますか?

4

1 に答える 1

5

この行を変更します。

NSData *imageData1 = UIImagePNGRepresentation(image);

に:

NSData *imageData1 = UIImageJPEGRepresentation(image, 0.9f);

2 番目のパラメータ (0.9 float) は品質です。数が多いほど、品質が高くなります。0.0 から 1.0 まで

于 2013-05-09T11:11:28.360 に答える