2011-11-19 6 views
53

documentationは、これらのメソッドを使用すると実際に何が起こっているか非常にあいまいです。 Matrixが実際に設定されているビットマップに実際にどのように影響を与えるか説明できますか?彼らはそこに連結という用語を使用していますが、その用語が座標データにどのように適用されているかはわかりません(以前は文字列操作に関してのみ使用していました)。post/pre/set Translate(Matrixオブジェクト内)の翻訳とその使用方法

答えて

124

set-methodsは、現在のMatrixを新しい値で置き換えます。以前に含まれていたMatrixは無視されます。プリおよびポストメソッドは、現在のMatrixに含まれるものの前または後に新しい変換を適用します。この例では

、我々が設定された方法を使用しているので、回転は無視され、Mは、翻訳が含まれます。

行列M =新しいマトリックス()。

m.setRotate(90);

m.setTranslate(100、100);この例では

、最終的なマトリックスは、回転が続く翻訳になります

行列M =新しいマトリックス()。

m.setTranslate(100、100);

m.postRotate(90);最後の例では

、最終的なマトリックスは、翻訳が続く回転であろう:

行列M =新しいマトリックス()。

m.setTranslate(100、100);

m.preRotate(90);

この中にいくつかのより多くの情報(かなり長い)ポストがあります:

http://www.satyakomatineni.com/akc/display?url=displaynoteimpurl&ownerUserId=satya&reportId=2898

はそれがお役に立てば幸いです。

+1

この座標系で使用されている解説は、この回答にも非常に優れています。例えば、「回転の後の回転」はかなり明白ですが、x軸とy軸の関係でどのようにこれを実現していますか?どのように座標の根拠ではなく中心点について何かを回転させる方法。 – RichieHH

+1

質問は、pre/post/setメソッドの違いについてでした。 apiドキュメントは、各変換のさまざまなバリエーションについてはっきりしています。もちろん、さまざまな順序で変換を適用すると、パラメータ値にいくつかの影響がありますが、ここでは少し話題になります。 – Albin

+0

これは大いに役立ちます、私はAndroid Developingチームがドキュメントにそれを含めるべきだと非常に思っています。 – tim687

関連する問題