2010-11-10 17 views
3

J'utilise UIImagepickerController pour prendre des photos de la caméra .. J'utilise ma propre vue sur la vue de la caméra en utilisant la propriété cameraoverlayview ... Je veux prendre une photo de la caméra lorsque l'utilisateur clique sur un bouton dans ma vue personnalisée. ..Je suis en utilisant le code suivanten utilisant UIImagepickerController cameraoverlayview pour prendre une photo?

- (void)viewDidLoad { 

imagePickerController = [[UIImagePickerController alloc] init]; 
    imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera; 
    [self presentModalViewController:imagePickerController animated:YES]; 
    imagePickerController.showsCameraControls=NO; 

imagePickerController.cameraOverlayView = self.customView; 

} 

- (IBAction) takePicture 
{ 
    [imagePickerController takePicture]; 
} 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 

    NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType]; 

    imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 

[picker dismissModalViewControllerAnimated:YES]; 

} 

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
} 

mais quand je lance ce code, il me donne l'erreur

ERROR: FigCreateCGImageFromJPEG returned -12905. Input (null) was 773625 bytes.

et je reçois également des avertissements pour le niveau d'utilisation de la mémoire 2 et niveau 1

et aucune image est d isplayed dans le imageView .. quelqu'un peut-il m'aider ce que je pourrais faire mal ?? btw j'utilise iPhone 3G avec iOS4.1 installé dessus

+0

Pas sûr, mais regardez dans UIImage vs UIImageView. Je soupçonne que cela peut avoir à faire avec votre appel '[info objectforKey: ...]'. – Moshe

+0

effectivement didFinishPickingMediaWithInfo n'est même pas appelé .. J'ai déjà inclus le délégué pour cela – hemant

Répondre

1

UIImagePickerControllerOriginalImage est un symbole (une constante NSString *) et vous ne pouvez pas assumer sa valeur. Utilisez tel quel, sans guillemets. En dehors de cela, si vous conservez correctement et créez à la fois le sélecteur et la vue d'image, cela devrait fonctionner.