How I can save UIImage to file with NSFileManager ?
Thank,
If you've generated an image using Core Graphics, or perhaps rendered part of your layout, you might want to save that out as either a PNG or a JPEG. Both are easy thanks to two methods: pngData() and jpegData() , both of which convert a UIImage into a Data instance you can write out.
UIImage *img = [[UIImage alloc] init]; [img setImage:[UIImage imageNamed:@"anyImageName"]];
UIImage contains the data for an image. UIImageView is a custom view meant to display the UIImage .
Here we go.
This will store a UIImage
into your documents directory of your iOS App. You won't need NSFileManager
.
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; UIImage * imageToSave = [UIImage imageNamed:@"Icon.png"]; NSData * binaryImageData = UIImagePNGRepresentation(imageToSave); [binaryImageData writeToFile:[basePath stringByAppendingPathComponent:@"myfile.png"] atomically:YES];
Edit: If you store images form the iOS Camera, you might look at how you can rotate the images to the right orientation. Look here in that case.
To save it as a file, you'll either need to put it in a plist, or create a png/jpg representation of the image. You can save the UIImage data a little easier with NSCoding.
See this tutorial for more info: http://www.raywenderlich.com/1914/how-to-save-your-app-data-with-nscoding-and-nsfilemanager
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With