私は少し成功していますが、おそらくよりSwiftyであるNSAffineTransform
ことに出くわしました。AffineTransform
ただし、concat
メソッドがないので、どのように使用しますか? 中心を中心に数回回転させた同じ小さな BezierPath を描画することを目指しています。
明らかな場合は申し訳ありません。他の人はこれが便利だと思うかもしれません。
私は少し成功していますが、おそらくよりSwiftyである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
独自のメソッドを使用して、個々のポイントまたはサイズを変換することもできます。