簡體   English   中英

在iOS上,如何用輪廓填充路徑? (或同時填充和描邊路徑)

[英]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 ,我們將得到“填充”,但是我們不能兩者都做,因為在筆觸或填充之后,“當前路徑”為不見了 我們如何同時填充和描邊路徑(例如想要黃色填充和橙色輪廓)?

我們可以將MoveToAddLine調用移至一個函數,然后調用該函數,執行一次填充,再次調用該函數並進行筆畫,但是有很多xy使得將它們全部傳遞給函數非常麻煩。 有哪些方法可以做到這一點?

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM