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собственные методы преобразования отдельных точек или размеров.

Другие вопросы по тегам