Losing permission with renderInContext: or CGImageCreateWithImageInRect?

I take a screenshot and cut out the navigation bar / status bar. I don't think this works for crop in context, so I use the CGImage component to crop. The resulting image is much more pixelated than the original image that I see on the screen. Does the layer component disable quartz rendering? Am I losing resolution during one of the conversions?

I use scrollView to zoom / pan and save the image cropped to the screen. Image comes from UIImagePickerController. Is there a better way to do this? I am new, suggestions are welcome.

    CGRect rect = CGRectMake(0, 44, 320, 436);
CGSize size = CGSizeMake(320, 480);

UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
CGContextRef context = UIGraphicsGetCurrentContext();

[self.view.layer renderInContext:context]; 
UIImage *tempImage = UIGraphicsGetImageFromCurrentImageContext();
CGImageRef ref = CGImageCreateWithImageInRect(tempImage.CGImage,rect);

finishedImage = [UIImage imageWithCGImage:ref];

[card saveImage:finishedImage];
UIGraphicsEndImageContext();

..... UPDATE.....
:
  CGImageCreateWithImageInRect ( )
  scrollview ( )
   ( , )
   Picker (low rez pic imagePicker, renderInContext)

. , .

+3

All Articles