1

Scenario Saving a 320x480 view as an image in the user's saved photos album.

Problem Always saves a 800x?, low quality JPG.

Using the normal renderInContext/UIImageWriteToSavedPhotosAlbum method to save a view to the library. I've tried converting the UIImage to a PNGRepresentation then using that data to make a new UIImage - it still just saves a JPG in the library.

I could possibly solve this problem by upsizing my view to 800px tall then take the "screenshot" - but that's going to be a lot of work.

Has anyone been able to solve this low-quality saved image problem? I've seen threads all over about it but the always die off without any solid ideas.

Thanks, Ian

3n.
  • 1,671
  • 2
  • 17
  • 15

1 Answers1

4

The best answer of this question can be found here. I'll paste it just in case something happens in the future which would make the link invalid:

UIImage* im = [UIImage imageWithCGImage:myCGRef]; // make image from CGRef
NSData* imdata =  UIImagePNGRepresentation ( im ); // get PNG representation
UIImage* im2 = [UIImage imageWithData:imdata]; // wrap UIImage around PNG representation
UIImageWriteToSavedPhotosAlbum(im2, nil, nil, nil); // save to photo album

Thanks to Ben Weiss for this.

Community
  • 1
  • 1