我正在绘制如下形状:
- (void)drawRect:(CGRect)rect
{
// Draw a cross rectagle
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextMoveToPoint(context, 190, 0);
CGContextAddLineToPoint(context, 220, 0);
CGContextAddLineToPoint(context, 310, 90);
CGContextAddLineToPoint(context, 310, 120);
CGContextSetFillColorWithColor(context, [UIColor lightGrayColor].CGColor);
CGContextFillPath(context);
CGContextRestoreGState(context);
}
我在下面看到了一个浅色十字旗
现在我想在刚刚绘制的十字旗周围画一条笔画
我应该做什么来实现这个目标。请就这个问题给我建议。 谢谢。
最佳答案
当然 CGContextDrawPath(context, kCGPathFillStroke);
就是你想要的
您可以使用以下方法调整图案和颜色:
CGContextSetStrokePattern
CGContextSetStrokeColor
因此,就您而言,假设您想要纯黑色描边,您将拥有:
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextSetLineWidth(context, 2.0);
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor);
CGContextSetFillColorWithColor(context, [UIColor lightGrayColor].CGColor);
CGContextMoveToPoint(context, 190, 0);
CGContextAddLineToPoint(context, 220, 0);
CGContextAddLineToPoint(context, 310, 90);
CGContextAddLineToPoint(context, 310, 120);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFillStroke);
CGContextFillPath(context);
CGContextRestoreGState(context);
}
产品:
关于objective-c - 围绕形状、核心图形画一条笔画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13256436/