Android Toile Système De Coordonnées

Je suis en train d'essayer de trouver des informations sur la façon de changer le système de coordonnées de la toile. J'ai quelques données vectorielles j'aimerais faire une toile en utilisant des choses comme les cercles et les lignes, mais les données du système de coordonnées ne correspondent pas à la toile du système de coordonnées.

Est-il un moyen de la carte les unités que je suis à l'aide de l'écran des unités?

Je suis de dessin à une ImageView qui n'est pas de prendre la totalité de l'écran.

Si je dois faire mes propres calculs avant chaque dessin d'appel, comment puis-je trouver la largeur et la hauteur de mes ImageView?

La getWidth() et getHeight() appelle j'ai essayé semblent être de retour l'ensemble de la toile de la taille et pas de la taille de l'ImageView qui n'est pas utile.

Je vois de la matrice des trucs, c'est quelque chose qui va travailler pour moi?

J'ai essayé d'utiliser le "public void échelle(float sx, float sy)", mais qui fonctionne plus comme un pixel de niveau de zoom, plutôt que d'un vecteur à l'échelle de la fonction par l'expansion de chaque pixel. Cela signifie que si les dimensions afin de s'adapter à l'écran, l'épaisseur de la ligne est également augmenté.


Mise à jour:

Après quelques recherches, je commence à penser que il n'y a aucun moyen de coordonner les systèmes à autre chose. Je vais avoir besoin d'une carte toutes mes coordonnées à l'écran de pixel de coordonnées et de le faire en modifiant chaque vecteur. Le getWidth() et getHeight() semble fonctionner mieux pour moi maintenant. Je peux dire ce qui n'allait pas, mais je soupçonne que je ne peux pas utiliser ces méthodes à l'intérieur du constructeur.

Ouais, getWidth() et getHeight() ne fonctionnent pas à l'intérieur du constructeur pour sûr.

OriginalL'auteur Mitch | 2010-05-28