您的位置:首页 > 移动开发 > IOS开发

IOS_绘画交集圆填充

2016-04-03 21:45 501 查看


1.两个相交的圆圈与同一半径和填补单独的交集:

// Use first circle as clipping path:
CGContextAddArc(context, 150, 150, 50, 0, 2 * M_PI, 1);
CGContextClip(context);
// Draw second circle:
CGContextAddArc(context, 200, 150, 50, 0, 2 * M_PI, 1);
CGContextFillPath(context);


2.多个圆的交集:

CGContextSaveGState(context);
CGContextAddArc(context, 150, 150, 50, 0, 2 * M_PI, 1);
CGContextClip(context);
CGContextAddArc(context, 200, 150, 50, 0, 2 * M_PI, 1);
CGContextDrawPath(context, kCGPathFillStroke);
CGContextRestoreGState(context);
CGContextAddArc(context, 200, 150, 50, 0, 2 * M_PI, 1);
CGContextClip(context);
CGContextAddArc(context, 150, 150, 50, 0, 2 * M_PI, 1);
CGContextDrawPath(context, kCGPathStroke);


如果想实现上面的图第一个方法只能实现相对的交集,不能实现多个圆的填充交集

比如上面图San Francisco实现了与Cloudy和July,2013圆的的填充交集,但会发现Fahrenheit不能让和Cloudy,Julu,2013实现填充交集。反过来一样,第二种方法可以实现多个圆填充交集。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: