web-dev-qa-db-fra.com

Vous cherchez une explication de la traduction post / pré / set (dans l'objet Matrix) et comment les utiliser

Le documentation est assez vague quant à ce qui se passe réellement lorsque ces méthodes sont utilisées. Quelqu'un peut-il expliquer comment Matrix affecte réellement le bitmap sur lequel il est défini? Ils utilisent le terme concaténer là-dedans, mais je ne sais pas comment ce terme s'applique aux données de coordonnées (ne l'ayant utilisé que pour la manipulation de chaînes auparavant).

56
Genia S.

Les méthodes set remplaceront la matrice actuelle par de nouvelles valeurs, sans tenir compte de ce que la matrice contenait auparavant. Les méthodes pré et post appliqueront une nouvelle transformation avant ou après tout ce que contient la matrice actuelle.

Dans cet exemple, la rotation sera ignorée car nous utilisons la méthode set et le m ne contiendra qu'une traduction:

Matrice m = nouvelle Matrice ();

m.setRotate (90);

m.setTranslate (100, 100);

Dans cet exemple, la matrice finale sera une traduction suivie d'une rotation:

Matrice m = nouvelle Matrice ();

m.setTranslate (100, 100);

m.postRotate (90);

Dans l'exemple final, la matrice finale sera une rotation suivie d'une translation:

Matrice m = nouvelle Matrice ();

m.setTranslate (100, 100);

m.preRotate (90);

Il y a plus d'informations dans ce post (plutôt long):

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

J'espère que cela aide.

138
Albin