我需要绘制一个六边形,并用以Image作为图案的颜色填充它。
我做了:

CGContextSaveGState(context);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetFillColorWithColor(context, [[UIColor colorWithPatternImage:[UIImage imageNamed:@"patternerba.png"]] CGColor]);
CGContextSetStrokeColorWithColor(context, [[UIColor blackColor] CGColor]);
CGContextSetLineWidth(context, 3.0);
// drawing hexagon here...
CGContextStrokePath(context);
CGContextFillPath(context);
[[NSString stringWithFormat:@"Foo"] drawAtPoint:innerRect.origin withFont:[UIFont fontWithName:@"Helvetica" size:16]];
CGContextRestoreGState(context);

但是根据CGContextStrokePath和CGContextFillPath的顺序,我得到了一个带边框的六边形,但是没有填充或填充,但是没有边框。我怎样才能解决这个问题?

最佳答案

尝试

CGContextDrawPath(context, kCGPathFillStroke);

代替
CGContextStrokePath(context);
CGContextFillPath(context);

关于objective-c - CoreGraphics FillPath和描边路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9397072/

10-10 23:52