1

我已经取得了一些成功,NSAffineTransform但也遇到了AffineTransform可能更 Swifty 的情况。但是它没有concat方法,那么您如何使用它呢?我的目标是绘制围绕中心旋转数次的相同的小 BezierPath。

很抱歉,如果很明显;我想其他人可能会觉得这很有用。

4

1 回答 1

0

这是我的看法。如果您使用 an 绘图,NSBezierPath则将其应用于带有 的路径myPath.transform(using: tr),例如:

  let tr1 = AffineTransform(translationByX: 20, byY: 20)
  bez = NSBezierPath()
  // add some elements to the path here
  bez.transform(using: tr1)
  bez.stroke()

正如我所看到的,转换会影响路径中已经存在的所有元素,但不会影响随后添加的任何元素。变换是累积的,因为重新应用变换或应用另一个变换将影响到目前为止输入的所有元素。

您还可以使用AffineTransform自己的方法来转换单个点或大小。

于 2021-03-29T20:08:42.253 回答