Actualmente estoy haciendo una aplicación para el iphone donde el usuario toma una foto o la selecciona de un álbum, luego se coloca una superposición sobre la imagen. El usuario puede escalar, rotar y guardar la imagen. Actualmente, puedo tomar fotos o elegir una para el álbum. En cuanto a la superposición, acabo de utilizar UIImageView y la coloqué en la parte superior de la jerarquía en el constructor de interfaces. Para la cámara, estoy usando este código:Editar imagen después de tomar una foto
-(IBAction)getPhoto:(id)sender {
// Create an image picker controller
UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init];
if((UIButton *) sender == choosePhotoBtn) {
// Set source to photo albums
imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
}
else {
// Set source to camera
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.showsCameraControls = YES;
}
// Delegate is self
imagePicker.delegate = self;
// Allow editing of image
imagePicker.allowsEditing = YES;
// Show image picker
[self presentModalViewController:imagePicker animated: YES];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
// Dismiss modalviewcontroller
[picker dismissModalViewControllerAnimated:YES];
// Displaying image to the imageView
imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
// Access the uncropped image from info dictionary
UIImage * image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
// Save Image
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
[picker release];
}
El problema que estoy teniendo en este momento, está editando la foto después de que se están tomando. ¿Cómo puedo personalizar la cámara a comportarse como esto ?:
elegir entre usar la cámara o conseguir la foto del álbum
Una vez elegido, la imagen superpuesta cambiará a uno donde yo' he puesto un "círculo" en la cara, y la foto estará debajo como una máscara. Esta vista también podrá editarse en pantalla completa. Puede rotar, escalar y mover la imagen hasta que haga clic en "Hecho".
He leído esta parte en el manual pero parece que no puedo entender cómo usarlo. http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html
Espero que alguien pueda indicarme la dirección correcta.
Muchas gracias. -Hakimo
¿Dónde OP utiliza UIImagePickerControllerOriginalImage o UIImagePickerControllerEditedImage? No te entiendo – inherithandle
@inherithandle OP se refiere al método 'imagePickerController: didFinishPickingMediaWithInfo:' de UIImagePickerControllerDelegate. El parámetro 'info' contiene un NSDictionary que contiene las teclas de información de edición como' UIImagePickerControllerOriginalImage' y 'UIImagePickerControllerEditedImage' –