2011-05-25 7 views

Respuesta

14

Esto debería funcionar:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
NSString *docs = [paths objectAtIndex:0]; 
NSString* path = [docs stringByAppendingFormat:@"/image1.jpg"]; 

NSData* imageData = [NSData dataWithData:UIImageJPEGRepresentation(imageView.image, .8)]; 
NSError *writeError = nil; 

if(![imageData writeToFile:path options:NSDataWritingAtomic error:&writeError]) { 
    NSLog(@"%@: Error saving image: %@", [self class], [writeError localizedDescription]); 
} 
+1

Es incorrecto para comprobar el objeto de error antes de verificar el valor de retorno de la llamada a 'writeToFile:'. Solo se garantiza que será un objeto válido si el retorno 'BOOL' es' NO'; si es 'SÍ', el error _no_ garantiza ser' nil'. –

+0

Gracias por su respuesta ... funciona ... –

2

cuidadosa. Esta línea tiene un error:

UIImageJPEGRepresentation(imageView.image, 80) 

Si nos fijamos en la cabecera, la calidad de compresión debe haber un flotador entre 0 (la mayoría con pérdidas) y 1 (menor compresión)

UIKIT_EXTERN NSData *UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality); // return image as JPEG. May return nil if image has no CGImageRef or invalid bitmap format. compression is 0(most)..1(least) 
Cuestiones relacionadas