2011-02-27 219 views
0

我需要繪製一個實心圓,並且它需要具有不同顏色的輪廓。現在我通過創建兩個圓圈來填充一個,然後撫摸另一個。用輪廓填充圓形

CGContextFillEllipseInRect(context, CGRectMake(10, 10, 80, 80)); 
CGContextStrokeEllipseInRect(context, CGRectMake(10, 10, 80, 80)); 

問題是該圓看起來有點偏移和不均勻。是否有一個函數允許同時在一行中繪製帶輪廓的圓?

回答

0

嘗試用較大的筆線寬度撫摸,在輪廓上添加一些厚度。您可能還需要插入寬度爲筆寬一半的矩形。

1

問題是圓看起來有點偏移和不均勻。

你是什麼意思?請編輯您的問題以包含屏幕截圖。

您是否關閉了抗鋸齒功能?如果是這樣,那可能是原因。

您是否自己創建了上下文?如果是這樣,請編輯您的問題,以包括這樣做的代碼。

是否有一個函數允許在一行中同時繪製一個帶輪廓的圓?

您可以使用CGContextAddEllipseInRect到橢圓追加到上下文的當前路徑,然後使用CGContextDrawPathkCGPathFillStroke操作。它應該稍微快一點(因爲路徑只創建一次),但不應該有任何其他的區別。