当我尝试填充数字时,它只会填充弧线。这是一张了解的图片:
我想填充弧下的矩形,我不明白为什么它不会。
这是我的代码:
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);
谢谢。请原谅我糟糕的英语和糟糕的核心图形知识。
答案 0 :(得分:2)
要使填充正常工作,您需要有一个封闭的路径。每次执行CGContextMoveToPoint
时,都会破坏路径。尝试删除弧的CGContextMoveToPoint
和矩形的第二边。如果圆弧和矩形不匹配,则可能需要在CGContextAddArc
中翻转起始和终止角度,因为它可能在错误的点开始和结束。