CAShapeLayer改变不同画笔的宽度

时间:2017-08-29 04:50:54

标签: ios swift cashapelayer

我有不同的纹理画笔我正在拥有笔画的每个像素的纹理图像我想将纹理分配给CGPath并更改宽度。 我需要指定纹理图像并将宽度更改为滑块响应。

1 个答案:

答案 0 :(得分:1)

您可按以下顺序实现此目的:

  • 使用CGLayerCreateWithContext创建CGLayer,在此阶段,获取滑块值并将其用作初始值设定项中的CGSize
  • 使用CGLayerGetContext获取已创建的CGLayer的上下文,然后使用上下文渲染画笔纹理,例如CGContextDrawImage
  • 使用已完成的CGLayer作为纹理并使用CGContextDrawLayerAtPoint在屏幕上绘制,因为您获得了CGPath,您需要手动计算绘图的密度,并生成CGPoint数组,用作绘图函数中的参数。

您可以参考Apple的Quartz 2D Programming Guide