сохранить изображение из uiimagepickercontroller с его UIVIew Overlay - PullRequest
0 голосов
/ 12 декабря 2011

пожалуйста, помогите .... Я не могу найти ответ, и должно быть простое решение.

Я разрешаю пользователю делать снимок на камеру iPhone с помощью UIImagePickerController - я хочу сохранить это изображение с помощью UIView, который я установил как cameraOverlayView.

как это возможно?

Спасибо

Берроуз

1 Ответ

0 голосов
/ 12 декабря 2011
    -(void) viewDidAppear:(BOOL)animated{
        picker = [[UIImagePickerController alloc] init];
        picker.sourceType = UIImagePickerControllerSourceTypeCamera;
        picker.delegate = self;
        picker.showsCameraControls = NO;
        picker.navigationBarHidden = YES;
        picker.toolbarHidden = YES;
        picker.wantsFullScreenLayout =YES;
        picker.cameraOverlayView = overlayView;
        [self presentModalViewController:picker animated:NO];
        [self.view bringSubviewToFront:overlayView];
        [picker release];

    }

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage];
    NSData* imageData = UIImageJPEGRepresentation(image, 0.1);
    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString* documentsDirectory = [paths objectAtIndex:0];
    NSString* fullPathToFile = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"Image%i.jpg",i]];
    [imageData writeToFile:fullPathToFile atomically:NO];
    i++;
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker1 {
    [picker1 dismissModalViewControllerAnimated:NO];
    overlayView.hidden = YES;
}

-(void) takepicture:(id) sender{
    [self.picker takePicture];
}
...