Export CGPath as JPG or PNG

后端 未结 2 435
[愿得一人]
[愿得一人] 2021-01-07 13:19

Is it possible to take a path draw in an UIView with CGPath and export it as a PNG?

相关标签:
2条回答
  • 2021-01-07 13:37

    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();
    
    0 讨论(0)
  • 2021-01-07 13:52

    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.

    0 讨论(0)
提交回复
热议问题