Scattare una foto con iPad

di il
3 risposte

Scattare una foto con iPad

Ciao a tutti,
in una applicazione per iPad vorrei scattare una foto e acquisire l' immagine, avete qualche suggerimento su come fare?

3 Risposte

  • Re: Scattare una foto con iPad

    Per scattare una foto si usa la classe UIImagePickerController che si trova nel framework AVFoundation.

    ViewController.h
    
    @interface ViewController : UIViewController <UIImagePickerControllerDelegate,
         UINavigationControllerDelegate>
    
    -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage 
         :(UIImage *)image editingInfo:(NSDictionary *)info;
    
    -(void)imagePickerControllerDidCancel:(UIImagePickerController *)  picker;
    ...
    
    ViewController.m
    
    #import <AVFoundation/AVFoundation.h>
    ...
    UIImagePickerController *picker1;
    ...
    - (IBAction)GetPhotoClick:(id)sender {
        UIImagePickerController *picker = [[UIImagePickerController alloc] init];
        [picker setDelegate:self];
        [picker setAllowsEditing:YES];
        picker.sourceType = UIImagePickerControllerSourceTypeCamera;
        [self presentModalViewController:picker animated:YES];
    }
    ...
    
    -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage 
       :(UIImage *)image editingInfo:(NSDictionary *)info
    {
        [picker dismissModalViewControllerAnimated:YES];
        [image1 setImage:[image copy]];
    }
    
    -(void)imagePickerControllerDidCancel:(UIImagePickerController *)  picker
    {
        [picker dismissModalViewControllerAnimated:YES];
    }
    
    Il controller deve implementare le interfacce UIImagePickerControllerDelegate e UINavigationControllerDelegate.
  • Re: Scattare una foto con iPad

    É possibile salvare questa immagine in locale oppure si puó solo visualizzarla?
  • Re: Scattare una foto con iPad

    Si, però non ho ancora provato. Se parti da un UIImage devi prima creare un NSData:
    
    NSData* imageData = UIImageJPEGRepresentation(img, 1.0);
    
    e poi richiamarne il metodo WriteToFile.
Devi accedere o registrarti per scrivere nel forum
3 risposte