1

私はパスを描くことができます...そして、アフィン変換を使用する必要があると確信しています。

私が得られないのは、パスを回転させて同じ中心を維持する方法です。

ここにコードがないことをお詫びします...しかし、CGContextRotateCTM の呼び出しに失敗しただけで、すべての描画が停止したようです。

4

1 に答える 1

3

中心を中心に回転するには:

CGContextTranslateCTM (ctx, center.x, center.y);
CGContextRotateCTM (ctx, angleInRadians);
CGContextTranslateCTM (ctx, -center.x, -center.y);
CGContextAddPath (ctx, path);

CTM メソッドは事前に連結されると信じていますが、逆方向の変換記号 (つまり、回転後ではなく回転前の負の変換) がある可能性があるため、これらの呼び出しの数学的表現は次のようになります。

CTMnew = -T * R * T * CTMcurrent
于 2011-01-20T15:53:33.437 に答える