我在使用NSAffineTransform时取得了一些成功,但我遇到了AffineTransform,它大概更快。但是它没有concat方法,那么如何使用它呢?我的目标是画出围绕中心旋转了几次的小BezierPath。
如果这很明显,我很抱歉;我猜其他人可能会发现这很有用。
发布于 2021-03-30 04:08:42
我是这么看的。如果使用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自己的方法来转换单个点或大小。
https://stackoverflow.com/questions/66725642
复制相似问题