当我尝试填充图形时,它只会填充弧线。看一张图就明白了:
我也想填充圆弧下的矩形,但我不明白为什么不填充。
这是我的代码:
CGContextSetStrokeColorWithColor(context, wormBorderColor);
CGContextSetFillColorWithColor(context, wormFillColor);
//Tracer la ligne de gauche
CGContextMoveToPoint(context, leftX, startingY);
CGContextAddLineToPoint(context, leftX, startingY-wormHeight);
CGContextMoveToPoint(context, rightX, startingY-wormHeight);
CGContextAddArc(context, centerX, startingY-wormHeight, echelleSize/2, 0,M_PI , 1);
CGContextMoveToPoint(context, rightX, startingY-wormHeight);
CGContextAddLineToPoint(context, rightX, startingY);
//CGContextStrokePath(context);
CGContextDrawPath(context, kCGPathFillStroke);
谢谢。请原谅我糟糕的英语和我糟糕的核心图形知识。
最佳答案
要使填充正常工作,您需要有一个闭合路径。每次执行 CGContextMoveToPoint
时,都会中断路径。尝试删除圆弧和矩形第二边的 CGContextMoveToPoint
。如果圆弧和矩形不匹配,您可能需要在 CGContextAddArc
中翻转开始和结束角度,因为它可能在错误的点开始和结束。
关于ios - 核心图形只填充了我图的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21162807/