我正在制作一个简单的绘图程序,在UIView(下面代码中的画布)中绘制一些线。这很管用。
现在我想把这些线像橡皮一样擦掉。
我不只是想在它上面画白色,因为在画布视图后面有一个背景图像,用户可以更改,所以将背景图像绘制到视图中也不起作用,因为他们可以在绘制的中途更改它。
如何在所有现有路径上画出一个像橡皮擦一样的路径?
这是我当前的绘图代码
func drawLine(fromPoint start: CGPoint, toPoint end:CGPoint, color: UIColor, width: CGFloat, canvas: UIView)
{
let line = CAShapeLayer()
let linePath = UIBezierPath()
linePath.move(to: start)
linePath.addLine(to: end)
line.path = linePath.cgPath
line.strokeColor = color.cgColor
line.lineWidth = width
line.lineJoin = kCALineJoinRound
canvas.layer.addSublayer(line)
}
谢谢!
最佳答案
可以将stroke与模式CGBlendMode.clear一起用于擦除和
CGBlendMode.normal用于绘图
linePath.stroke(with: CGBlendMode.clear, alpha: 1.0)