[英]On iOS, how to fill a path with an outline? (or both fill and stroke the path)
在iOS上,如果我們這樣做
CGContextMoveToPoint(contextFoo, 0, 0);
CGContextAddLineToPoint(contextFoo, x, y);
CGContextAddLineToPoint(contextFoo, x2, y2);
// ... and many more CGContextAddLineToPoint
然后在此之后,如果我們執行CGContextStrokePath
,我們將得到一個輪廓,或者如果我們CGContextFillPath
,我們將得到“填充”,但是我們不能兩者都做,因為在筆觸或填充之后,“當前路徑”為不見了 我們如何同時填充和描邊路徑(例如想要黃色填充和橙色輪廓)?
我們可以將MoveTo
和AddLine
調用移至一個函數,然后調用該函數,執行一次填充,再次調用該函數並進行筆畫,但是有很多x
和y
使得將它們全部傳遞給函數非常麻煩。 有哪些方法可以做到這一點?
CGContextDrawPath(context, kCGPathFillStroke);
// to both Fill and Stroke your context
// or kCGPathFill/kCGPathStroke to only fill/stroke
您可以使用以下方法保存Path btw(以將其重復用於相同形狀的多種事物):
CGPathBeginPath / MoveToPoint / AddLine / ...與CGContext / ...非常相似
例如:
[[UIColor yellowColor] setFill];
[[UIColor orangeColor] setStroke];
CGContextDrawPath(context, kCGPathFillStroke);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.