Is it possible to take a path draw in an UIView with CGPath and export it as a PNG?
+1
A:
The cleanest way to do that is to perform the whole drawing again in an image context produced by UIGraphicsBeginImageContext()
, get an UIImage
out of it, then save it via the UIImagePNG/JPEGRepresentation()
functions.
Note that UIView do not "hold" images. You can rerender a UIView's layer, but it's a gross violation of MVC (you're using views to store model data!), and it doesn't look clean to me.
millenomi
2009-12-03 12:02:27
+1
A:
Assuming you want a UIImage, not a png file, you can do something like this:
UIGraphicsBeginImageContext(size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 1.0, 0.0, 0.0, 1.0);
CGContextSetLineWidth(context, 2.0);
CGContextSetLineCap(context, kCGLineCapSquare);
//DRAW YOUR PATH HERE
CGContextStrokePath(context);
myUIImage = UIGraphicsGetImageFromCurrentImageContext();
[myUIImage retain];
UIGraphicsEndImageContext();
David Kanarek
2010-01-17 07:36:34