1

2 つの独立したベクター グラフィックスを描画し、そのうちの 1 つに変換を適用する方法がわかりません。

私のコード:

doc.moveTo(0, 20)
    .lineTo(200, 20)
    .rotate(45)
    .stroke();

doc.moveTo(0, 40)
    .lineTo(200, 40)
    .stroke();

私が望むのは、最初の図面を回転させ、2番目の図面を回転させないことだけです。しかし、両方とも回転しており、そのうちの 1 つだけを変換 (回転、スケーリング) する方法が見つかりません。誰か助けてくれませんか?

4

1 に答える 1

1

グラフィック スタックsave()restore()メソッドを使用してみてください。

doc.save()
doc.moveTo(0, 20).lineTo(200, 20).rotate(45).stroke()
doc.restore()
doc.moveTo(0, 40).lineTo(200, 40).stroke()

行だけでなくドキュメントにも適用されるような方法rotate()(この場合)だと思います。そのため、グラフィックスタックを保存し、変更を加えてから、グラフィックスタックを以前の状態に復元できます。

From : PDFKit - 変換

回転変換は、角度と、オプションで origin プロパティを持つオブジェクトを受け取ります。渡された原点またはデフォルトではページの中心を中心にドキュメントの角度を回転させます。

参照: PDFKit - グラフィック スタックの保存と復元

于 2016-08-04T10:03:39.860 に答える