Download an Image and Save it as PNG or JPEG in iPhone SDK

Here is a quick example to save an image as JPEG or PNG. In this tutorial, I’m getting the image from the Internet then I’m saving it as JPEG and PNG.

Key points:

	NSLog(@"Downloading...");
	// Get an image from the URL below
	UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.objectgraph.com/images/og_logo.png"]]];

	NSLog(@"%f,%f",image.size.width,image.size.height);

	// Let's save the file into Document folder.
	// You can also change this to your desktop for testing. (e.g. /Users/kiichi/Desktop/)
	// NSString *deskTopDir = @"/Users/kiichi/Desktop";

	NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

	// If you go to the folder below, you will find those pictures
	NSLog(@"%@",docDir);

	NSLog(@"saving png");
	NSString *pngFilePath = [NSString stringWithFormat:@"%@/test.png",docDir];
	NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(image)];
	[data1 writeToFile:pngFilePath atomically:YES];

	NSLog(@"saving jpeg");
	NSString *jpegFilePath = [NSString stringWithFormat:@"%@/test.jpeg",docDir];
	NSData *data2 = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0f)];//1.0f = 100% quality
	[data2 writeToFile:jpegFilePath atomically:YES];

	NSLog(@"saving image done");

	[image release];

Download Sample XCode Project from here

By: kiichi on: