2011-02-27 188 views
0

我需要绘制一个实心圆,并且它需要具有不同颜色的轮廓。现在我通过创建两个圆圈来填充一个,然后抚摸另一个。用轮廓填充圆形

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

问题是该圆看起来有点偏移和不均匀。是否有一个函数允许同时在一行中绘制带轮廓的圆?

回答

0

尝试用较大的笔线宽度抚摸,在轮廓上添加一些厚度。您可能还需要插入宽度为笔宽一半的矩形。

1

问题是圆看起来有点偏移和不均匀。

你是什么意思?请编辑您的问题以包含屏幕截图。

您是否关闭了抗锯齿功能?如果是这样,那可能是原因。

您是否自己创建了上下文?如果是这样,请编辑您的问题,以包括这样做的代码。

是否有一个函数允许在一行中同时绘制一个带轮廓的圆?

您可以使用CGContextAddEllipseInRect到椭圆追加到上下文的当前路径,然后使用CGContextDrawPathkCGPathFillStroke操作。它应该稍微快一点(因为路径只创建一次),但不应该有任何其他的区别。