Post Pic

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:

  • NSData to retrieve the image from the URL
  • NSDocumentDirectory to find Document folder’s Path
  • UIImagePNGRepresentation to save it as PNG
  • UIImageJPEGRepresentation to save it as JPEG
	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

Related posts:

  1. Encrypting / Decrypting / Base64 Encode / Decode in iPhone Objective-C I went through websites to find good tricks to send...
  2. Guide to use screencasting to save time of programmers for free You might think, “I’m coding guy, not movie guy”, but...
  3. Developing Image Authentication Control I just start developing another ASP.NET Control that allows...
  4. How to use SBJSON and TouchJSON In this post I show how to use the two...
  5. App Store Download Hit 1 Billion! Congraturations! 1 Billion Downloads! Who got prizes? http://www.apple.com/itunes/billion-app-countdown/ Check out...

Related posts brought to you by Yet Another Related Posts Plugin.

Leave Your Response

* Name, Email, Comment are Required