Comment obtenir les coordonnées x et y de l'image bitmap dans le contrôle de l'image?
J'ai une image dans l'image-contrôle de l'affichage. L'utilisateur peut effectuer de panoramique et de zoom sur cette image, en raison de coordonnées x et y de l'image de la permanence du changement. Est-il possible de connaître l'ensemble des coordonnées x et y de l'image à l'intérieur du contrôle de l'image ? Tout le code concernant qu'il serait plus utile.
- Check it out ce lien peut être utile..... stackoverflow.com/questions/2447564/detect-touch-on-bitmap
Vous devez vous connecter pour publier un commentaire.
ImageView utilise la Matrice de classe pour faire de mise à l'échelle (Zoom) et la traduction (pan). Si vous pouvez vous procurer de la matrice, alors vous pouvez récupérer le (gauche, haut) les coordonnées de zoom/panoramique vue.
Code pour zoomable & de défilement panoramique étendue imageview est disponible dans l'une des stackoverflow postes
Dans ce post, vous verrez étendu ImageView de classe a de la matrice en tant que membre de la variable utilisée pour la mise à l'échelle /traduction.
Vous pouvez utiliser le Code suivant pour obtenir des limites de zoom /panoramique ImagevIew (en fait bitmap) à partir de la matrice.
NOUVELLEMENT AJOUTÉ RÉPONSE
De comprendre le code ci-dessous, vous devez aller à travers ce lien et à comprendre.
Traduction
Lorsque l'utilisateur fait glisser l'image, l'écran de coordonner (Absolue) et Bitmap coordonner sortir de la synchronisation. [ Tout ce que vous écrivez à l'image s'affiche par le biais de la toile (en onDraw()) ] Si l'option appliquer la coloration, l'utilisateur voit arriver appliquée sur une région différente sur l'image bitmap. Pour corriger cela, vous devez faire la traduction. La traduction serait de changer l'entrée de l'utilisateur coordonnées (qui sont de l'écran de coordonnées) bitmap de coordonnées (tel que prévu par l'utilisateur)
Extrait de code suivant serait de vous aider à faire la traduction.
Permettre à l'Utilisateur d'entrée de coordonnées soit (x,y) alors,
Vous d'utiliser les nouvelles coordonnées à la place de (x,y).
Zoom (Mise À L'Échelle)
Lorsque l'utilisateur pincées in /out ; le bitmap obtient un Zoom arrière /Zoom avant. Vous devez observer que l'image d'origine ne change pas, le zoom est seulement à partir de l'affichage de la perspective.
Ce nouveau résultat en perte de synchronisation entre l'écran et l'image bitmap. La coloration appliquée à l'écran doit se reflètent dans l'image affichée.
Extrait de code suivant serait de vous aider à faire la mise à l'échelle.
Shash