我在NSAffineTransform
方面取得了一些成功,但遇到了可能更快速的AffineTransform
。然而,它没有concat
方法,那么你如何使用它呢?我的目标是画同样的小BezierPath绕中心旋转几次。
很抱歉,如果这是显而易见的;我想其他人可能会觉得这很有用。
以下是我对它的看法。如果你用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
自己的方法来变换各个点或大小。