我画了两个重叠的圆圈。我希望能够填充和抚摸它们作为合并的新形状。合并核心图形中的路径?
此刻,我创建了一次路径序列,对它进行描边,然后创建它的一个副本,填充它,并将两个相同的路径添加到彼此的顶部,以便它们显示为单个形状。有更好的方法还是这样好?
更新:这里是一个示例代码:
CGMutablePathRef path = CGPathCreateMutable();
CGContextSetStrokeColorWithColor(theContext, strokeColor.CGColor);
CGContextSetLineWidth(theContext, 2);
CGContextSetFillColorWithColor(theContext, fillColor.CGColor);
CGRect rect1 = CGRectMake(0,0, mySize*0.6, mySize*0.6);
CGRect rect2 = CGRectMake(mySize*0.4,0, mySize*0.6, mySize*0.6);
CGPathAddEllipseInRect(path, NULL, rect1);
CGPathAddEllipseInRect(path, NULL, rect2);
CGContextAddPath(theContext, path);
CGContextDrawPath(theContext, kCGPathFillStroke);
CGPathRef pathFill = CGPathCreateCopy (path);
CGContextAddPath(theContext, pathFill);
CGContextDrawPath(theContext, kCGPathFill);
CGPathRelease(path);
CGPathRelease(pathFill);
正如你所看到的,我创建原始路径的副本,并绘制在上面没有中风,所以最后它看起来像一个统一的形状。有没有办法避免创建重复?
那么,你想要两个圆圈的联合,对吧? (见http://imgur.com/med3v。)你想要他们都填充和抚摸?请将您当前的代码编辑到您的问题中;我怀疑你正在做的工作比你需要的多,但要确保并能够明确指出。 – 2010-08-21 07:07:04
我已经添加了一些代码。请参阅上文。 – anna 2010-08-22 01:05:10