Estoy construyendo una aplicación en la que puedes hacer fotos o elegir una imagen del rollo de la cámara y guardarlas dentro de la aplicación para que se muestren en una vista de tabla y de detalles. El problema es que cuando hago una foto desde el interior de la aplicación y la guardo, la vista de tabla y la vista detallada se vuelven terriblemente lentas, como si la aplicación estuviera congelada. También recibo este error ": CGAffineTransformInvert: matriz singular.". Cuando cargo una imagen del rollo de la cámara que no se tomó desde el interior de mi aplicación, no hay ningún problema y la aplicación se ejecuta de manera muy suave.Problemas al cargar y guardar imágenes desde la cámara y el carrete de la cámara. ¿Qué estoy haciendo mal?
Este es el código para cuando abra la cámara y la cámara roll:
-(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];
}
Aquí es donde guardarlo en el rollo de la cámara y puse la imagen en una 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];
}
Y aquí puedo guardar la imagen dentro de mi aplicación:
-(IBAction)save:(id)sender{
drankjes.plaatje = [mijnPlaatje_ image];
[self dismissModalViewControllerAnimated:YES];
}
¿Qué estoy haciendo mal?
tanques para su respuesta y agregué su código, pero parece que no hay un error real porque solo llega al primer NSLog. ¿Podría ser que las imágenes que estoy guardando sean demasiado grandes en términos de memoria? –