Resolution loss with renderInContext: or CGImageCreateWithImageInRect?
<p>I'm taking a screen shot and cropping out the navigation bar/status bar.  I don't think it works to crop within the context,so I'm using the CGImage component to crop.  The resulting image is a lot more pixelated than the original image I see on the screen.  Does using the layer component disable quartz rendering?  Am I losing the resolution during one of the conversions?</p>

<p>I am using a scrollView to allow zooming/panning, and am saving the image cropped by the screen size.  The image is coming from UIImagePickerController.  Is there a better way of doing this?  I'm a newbie, suggestions are welcome.</p>

<pre><code>    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();
</code></pre>

<p>.....UPDATE.....<br>
I've eliminated:<br>
    CGImageCreateWithImageInRect(problem is before it is called)<br>
    scrollview (didn't have an effect)<br>
    interpolation of context (is on already, tried different settings)<br>
    image from the imagePicker (low rez  pic looks better direct from imagePicker than from renderInContext)  </p>

<p>Most resolutions look fine.  Its just when zoomed in and cropped, or low resolution pictures, that it looks worse than the original.</p>
