Export CGPath as JPG or PNG

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-19 04:56:27

问题


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


回答1:


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();



回答2:


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.



来源:https://stackoverflow.com/questions/1836796/export-cgpath-as-jpg-or-png

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!