Is it possible to save an image with Core Graphics on the iPhone?

core-graphics, iphone, quartz-2d

Solution

UIImage *myImage = [UIImage imageWithCGImage:image];
NSData *jpgData = UIImageJPEGRepresentation(myImage, 0.9f);
[jpgData writeToFile:...

Problem

The following code converts a PDF page into a JPEG. It runs as expected on Snow Leopard: ``` ... //get the image from the bitmap context CGImageRef image = CGBitmapContextCreateImage(outContext); //create the output destination CGImageDestinationRef outfile = CGImageDestinationCreateWithURL(fileUrl, kUTTypeJPEG, 1, NULL); //add the image to the output file CGImageDestinationAddImage(outfile, image, NULL); CGImageDestinationFinalize(outfile); ... ``` This code fails when compiled for iPhone because the iPhone version of Core Graphics does not include `CGImageDestinationRef`. Is there any way to save `CFImageRef` to a jpeg using the native iPhone frameworks and libraries? The only alternative I can think of is to ditch Core Graphics and use ImageMagick.

Original source