web-dev-qa-db-ja.com

(Matrixオブジェクトの)post / pre / set Translateの説明とその使用方法を探している

documentation は、これらのメソッドが使用されたときに実際に何が起こっているかについてかなりあいまいです。マトリックスは、設定されているビットマップに実際にどのように影響するかを説明できますか?そこでは連結という用語を使用しますが、その用語が座標データにどのように適用されるのかはわかりません(以前は文字列操作に関してのみ使用していました)。

56
Genia S.

Set-methodsは、現在のMatrixを新しい値に置き換え、Matrixに含まれていたものはすべて無視します。 preおよびpostメソッドは、現在のMatrixに含まれているものの前後に新しい変換を適用します。

この例では、setメソッドを使用しており、mには翻訳のみが含まれているため、回転は無視されます。

マトリックスm = new Matrix();

m.setRotate(90);

m.setTranslate(100、100);

この例では、最終的なマトリックスは平行移動に続いて回転します。

マトリックスm = new Matrix();

m.setTranslate(100、100);

m.postRotate(90);

最後の例では、最終的なマトリックスは回転とそれに続く平行移動になります。

マトリックスm = new Matrix();

m.setTranslate(100、100);

m.preRotate(90);

この(かなり長い)投稿には、さらに詳細な情報があります。

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

それが役に立てば幸い。

138
Albin