CGContextDrawPath 不会填充
CGContextDrawPath won't fill
我正在尝试填充我绘制的一些三角形,但它们没有填充。下面是在上下文中绘制的代码,正如您在图片中看到的那样,路径笔画很好。
func draw(context:CGContextRef) {
CGContextBeginPath(context)
CGContextMoveToPoint(context, self.peak.x, self.peak.y)
CGContextAddLineToPoint(context, self.left.x,self.left.y)
CGContextMoveToPoint(context, self.left.x, self.left.y)
CGContextAddLineToPoint(context, self.right.x,self.right.y)
CGContextMoveToPoint(context, self.right.x, self.right.y)
CGContextAddLineToPoint(context, self.peak.x,self.peak.y)
CGContextSetStrokeColorWithColor(context,UIColor.blackColor().CGColor)
CGContextSetFillColorWithColor(context,UIColor.redColor().CGColor)
CGContextDrawPath(context, kCGPathFillStroke)
}
我调用那个函数两次,输出是这样的。
我正在阅读 Quartz2D 编程指南,但不明白为什么这不会填满。这只是发生在从 UIView 继承的 class 的操场上,没什么特别的。
每次调用 CGContextMoveToPoint()
都会启动一个新的子路径,
然后它被填充,就好像你已经关闭它一样(并且没有任何东西
看看你是否填充了一个线段)。描边和填充
一个三角形,使用:
CGContextBeginPath(context)
CGContextMoveToPoint(context, self.peak.x, self.peak.y)
CGContextAddLineToPoint(context, self.left.x,self.left.y)
CGContextAddLineToPoint(context, self.right.x,self.right.y)
CGContextClosePath(context)
CGContextSetStrokeColorWithColor(context,UIColor.blackColor().CGColor)
CGContextSetFillColorWithColor(context,UIColor.redColor().CGColor)
CGContextDrawPath(context, kCGPathFillStroke)
我正在尝试填充我绘制的一些三角形,但它们没有填充。下面是在上下文中绘制的代码,正如您在图片中看到的那样,路径笔画很好。
func draw(context:CGContextRef) {
CGContextBeginPath(context)
CGContextMoveToPoint(context, self.peak.x, self.peak.y)
CGContextAddLineToPoint(context, self.left.x,self.left.y)
CGContextMoveToPoint(context, self.left.x, self.left.y)
CGContextAddLineToPoint(context, self.right.x,self.right.y)
CGContextMoveToPoint(context, self.right.x, self.right.y)
CGContextAddLineToPoint(context, self.peak.x,self.peak.y)
CGContextSetStrokeColorWithColor(context,UIColor.blackColor().CGColor)
CGContextSetFillColorWithColor(context,UIColor.redColor().CGColor)
CGContextDrawPath(context, kCGPathFillStroke)
}
我调用那个函数两次,输出是这样的。
我正在阅读 Quartz2D 编程指南,但不明白为什么这不会填满。这只是发生在从 UIView 继承的 class 的操场上,没什么特别的。
每次调用 CGContextMoveToPoint()
都会启动一个新的子路径,
然后它被填充,就好像你已经关闭它一样(并且没有任何东西
看看你是否填充了一个线段)。描边和填充
一个三角形,使用:
CGContextBeginPath(context)
CGContextMoveToPoint(context, self.peak.x, self.peak.y)
CGContextAddLineToPoint(context, self.left.x,self.left.y)
CGContextAddLineToPoint(context, self.right.x,self.right.y)
CGContextClosePath(context)
CGContextSetStrokeColorWithColor(context,UIColor.blackColor().CGColor)
CGContextSetFillColorWithColor(context,UIColor.redColor().CGColor)
CGContextDrawPath(context, kCGPathFillStroke)