NSAffineTransform против AffineTransform (Swift)
У меня был небольшой успех с
NSAffineTransform
но наткнулись
AffineTransform
что предположительно более Swifty. Однако у него нет
concat
метод, так как вы его используете? Я хочу нарисовать тот же маленький путь Безье, повернутый несколько раз вокруг центра.
Извините, если это очевидно; Думаю, это может оказаться полезным для других.
1 ответ
Вот как я это вижу. Если вы рисуете с
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
собственные методы преобразования отдельных точек или размеров.