iOS Swift Draw系列带有画笔效果

时间:2016-09-06 13:16:12

标签: ios swift drawing core-graphics cgcontext

我正在尝试创建一个允许用手指在屏幕上画线的应用。目前绘制了一条简单的蓝线。 我想有刷效果。

我尝试了CGContextDrawImage(),它不起作用,因为线不连续并且快速移动手指线变成许多不同的点。

我在线搜索,找到的唯一解决方案是使用图像模式绘制线条,但我无法使用核心图形。 有一种简单的方法可以用图案图像替换颜色吗?

override func drawRect(rect: CGRect) {

    var context = UIGraphicsGetCurrentContext()
    CGContextBeginPath(context)

    for line in lines {
        CGContextMoveToPoint(context, (line.start?.x)!, (line.start?.y)!)
        CGContextAddLineToPoint(context, (line.end?.x)!, (line.end?.y)!)
    }

    CGContextSetLineCap(context, CGLineCap.Round)
    CGContextSetLineWidth(context, 50)
    CGContextSetRGBStrokeColor(context, 0, 129/255, 196/255, 0.4)
    CGContextStrokePath(context)
}

func drawLine(gesture: UIPanGestureRecognizer) {
    let currentPoint = gesture.locationInView(self)

    if gesture.state == .Began{
        lastPoint = currentPoint
    } else if gesture.state == .Changed {
        lines.append(Line(start: lastPoint, end: currentPoint))
        lastPoint = currentPoint
    }
    self.setNeedsDisplay()
}

0 个答案:

没有答案