访问NSBezierPath的元素

时间:2018-06-29 14:52:56

标签: cocoa appkit nsbezierpath

我才刚刚开始学习如何使用NS类。 现在,我正在尝试弄清楚如何索引和访问NSBezierPath的某些部分。

在下面的代码段中,有一个包含12个节点和4个线段的圆形路径。我想知道如何索引和循环遍历每个节点/段以及应用厚度/颜色。我可以告诉代码中构成细分的部分,但我不知道如何访问它们。

简单地说,我希望能够: -选择一个路径 -选择它的第三段 -给它一些厚度 -涂成蓝色

我一直在查看AppKit文档,似乎下面的代码是我所需要的,但老实说我不知道​​如何应用它们。

func element(at index: Int) -> NSBezierPath.ElementType

func element(at index: Int, 
associatedPoints points: NSPointArray?) -> NSBezierPath.ElementType

https://developer.apple.com/documentation/appkit/nsbezierpath/1520751-element?changes=_5

我将非常感谢您提供的帮助和示例,以帮助您更好地理解如何使用这些方法并应用它们。

片段:

for path in layer.paths:
    bp = path.bezierPath
    bp.setLineWidth_(5)
    NSColor.blueColor().set()
    bp.stroke()
    print bp

说明:

Path <0x60400553f0e0>
  Bounds: {{157, 0}, {286, 286}}
  Control point bounds: {{157, 0}, {286, 286}}
    300.000000 0.000000 moveto
    379.000000 0.000000 443.000000 64.000000 443.000000 143.000000 curveto
    443.000000 222.000000 380.000000 286.000000 300.000000 286.000000 curveto
    221.000000 286.000000 157.000000 222.000000 157.000000 143.000000 curveto
    157.000000 64.000000 221.000000 0.000000 300.000000 0.000000 curveto
    closepath
    300.000000 0.000000 moveto

0 个答案:

没有答案