从相机和相机胶卷加载和保存图像时出现问题.我究竟做错了什么?

Max*_*ngs 7 iphone uiimagepickercontroller ios5

我正在构建一个应用程序,您可以在其中制作图片或从相机胶卷中选择一个图像并将其保存在应用程序内以显示在tableview和detailview中.问题是,当我从应用程序内部制作图片并保存它时,tableview和detailview变得非常慢,就像应用程序冻结一样.我也得到这个错误":CGAffineTransformInvert:奇异矩阵." 当我从相机中加载未从我的应用程序内部拍摄的图片时,没有问题,应用程序运行非常流畅.

这是我打开相机和相机胶卷时的代码:

-(void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{
if (buttonIndex == actionSheet.cancelButtonIndex) {
    return;
}

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;

switch (buttonIndex) {
    case 0:
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
            picker.sourceType = UIImagePickerControllerSourceTypeCamera;
        }
        break;
    case 1:
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) {
            picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
        }
        break;
}

[self presentModalViewController:picker animated:YES];  
}
Run Code Online (Sandbox Code Playgroud)

这是我将它保存到相机胶卷并将图像放在imageView中的地方:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
UIImage *mijnImage;
if (CFStringCompare((__bridge_retained CFStringRef)mediaType, kUTTypeImage, 0)==kCFCompareEqualTo) {
    mijnImage = (UIImage *) [info objectForKey:UIImagePickerControllerOriginalImage];
    mijnPlaatje_.image = mijnImage;
    UIImageWriteToSavedPhotosAlbum(mijnImage, nil, nil, nil);

}

 [picker dismissModalViewControllerAnimated:YES]; 
Run Code Online (Sandbox Code Playgroud)

}

在这里,我将图像保存在我的应用程序中:

-(IBAction)save:(id)sender{
drankjes.plaatje = [mijnPlaatje_ image];
[self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)

}

我究竟做错了什么?

Jen*_*n2k 0

尝试添加此委托方法以查看错误是什么:

- (void)image:(UIImage *) image didFinishSavingWithError: (NSError *) error contextInfo: (void *) contextInfo {
    NSLog(@"Saving image");
    if(error != nil) {
        NSLog(@"Error saving: %@",[error localizedDescription]);
    }
}
Run Code Online (Sandbox Code Playgroud)