我畫了兩個重疊的圓圈。我希望能夠填充和撫摸它們作爲合併的新形狀。合併核心圖形中的路徑?
此刻,我創建了一次路徑序列,對它進行描邊,然後創建它的一個副本,填充它,並將兩個相同的路徑添加到彼此的頂部,以便它們顯示爲單個形狀。有更好的方法還是這樣好?
更新:這裏是一個示例代碼:
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