在 Swift 的 CGContext 中将笔触设置为形状而不是颜色

问题描述

我正在开发一个应用程序,用户应该能够为他们的笔画选择(预定义的)形状。例如,如果他们画一条线,而不是一条彩色线,画布应该显示砖墙图案。我目前有这个(超级简化)代码

func drawLine(from fromPoint: CGPoint,to toPoint: CGPoint) {

    UIGraphicsBeginImageContext(view.frame.size)

    guard let context = UIGraphicsGetCurrentContext() else { return }
    imageView.image?.draw(in: view.bounds)

    context.move(to: fromPoint)
    context.addLine(to: toPoint)
    context.setLineCap(.round)
    context.setBlendMode(.normal)
    context.setlinewidth(brushWidth)
    context.setstrokeColor(color.cgColor)

    context.strokePath()

    imageView.image = UIGraphicsGetimageFromCurrentimageContext()
    imageView.alpha = opacity
    UIGraphicsEndImageContext()
}

调用 setstrokeColor 时,我希望能够设置自定义形状(或图像)。

作为一个额外的问题,有没有办法设置自定义行上限?

编辑:这是我想要达到的效果。最好是实时的(而不是黄线,石头图案将立即可见)。如果从 gif 中看不出来,图案是重复的,并且在角落处也是圆形的,所以我认为需要绘制它,而不是使用静态图像。

recording of desired effect

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)