Export CGPath as JPG or PNG
Is it possible to take a path draw in an UIView with CGPath and export it a开发者_Go百科s a PNG?
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();
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.
精彩评论