|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Coordenadas con Zoom
Hola a todos, estoy desarrollando un juego en el que necesito saber las coordenadas donde pulsas en una imageview pero me han surgido dos problemas:
1.Dependiendo de la resolución del móvil donde se ejecute,estas coordenadas cambian, pero necesito que siempre sean las mismas. 2.Quiero que al hacer zoom sobre la imageview si pinchas en el mismo sitio las coordenadas sean las mismas que sin el zoom. Tampoco he conseguido hacer zoom sobre la imageview con los dedos. ¿Alguien sabría como ayudarme? Gracias ;) |
|
|
|
#2
|
||||
|
||||
|
Supongo que estás poniendo el ImageView a pantalla completa y en modo fitXY, porque si no no tendrías problemas con las distintas resoluciones.
1. Para hacer esto existen millones de formas, por ejemplo puedes calcular el % de X y el % de Y en la pantalla, y esto lo aplicas sobre la imagen. Obviamente tendrás que usar double o float. El % de X es el punto X (cuando hablo de % me refiero de 0 a 1, donde 1 es el 100%) donde pulsas en el MotionEvent Down dividido entre el getWidth() del ImageView (el % de Y es obvio). Y el punto X de la imagen correspondiente es el getWidth() de la imagen multiplicado por el X que acabas de calcular (lo mismo con el punto Y). Como te digo existen millones de formas, pero esta es una. 2. Es parecido al anterior, calcular el % de X y de Y de donde pulsas en el ImageView y luego aplicarlo sobre la imagen. Pero esta vez teniendo en cuenta el punto inicial y final de X (e Y) de la imagen en la pantalla. Es algo más complejo, y así a bote pronto no se decírtelo, tendría que calcularlo. Pero eso ya es cogerte un papel y un lápiz y empezar a hacer cálculos, que realmente es el primer paso siempre en la programación. En cuanto a lo de hacer zoom en un ImageView, no se puede directamente, tienes que programarlo, existen ya algunas clases por ahí para hacer zoom y moverte por la imagen, incluso con doble click para alejar y acercar. Última edición por kriogeN Día 14/07/13 a las 13:08:51. |
| Gracias de parte de: | ||
|
#3
|
||||
|
||||
|
Supongo que estás poniendo el ImageView a pantalla completa y en modo fitXY, porque si no no tendrías problemas con las distintas resoluciones.
1. Para hacer esto existen millones de formas, por ejemplo puedes calcular el % de X y el % de Y en la pantalla, y esto lo aplicas sobre la imagen. Obviamente tendrás que usar double o float. El % de X es el punto X (cuando hablo de % me refiero de 0 a 1, donde 1 es el 100%) donde pulsas en el MotionEvent Down dividido entre el getWidth() del ImageView (el % de Y es obvio). Y el punto X de la imagen correspondiente es el getWidth() de la imagen multiplicado por el X que acabas de calcular (lo mismo con el punto Y). Como te digo existen millones de formas, pero esta es una. 2. Es parecido al anterior, calcular el % de X y de Y de donde pulsas en el ImageView y luego aplicarlo sobre la imagen. Pero esta vez teniendo en cuenta el punto inicial y final de X (e Y) de la imagen en la pantalla. Es algo más complejo, y así a bote pronto no se decírtelo, tendría que calcularlo. Pero eso ya es cogerte un papel y un lápiz y empezar a hacer cálculos, que realmente es el primer paso siempre en la programación. En cuanto a lo de hacer zoom en un ImageView, no se puede directamente, tienes que programarlo, existen ya algunas clases por ahí para hacer zoom y moverte por la imagen, incluso con doble click para alejar y acercar. ![]() La verdad es que es más complejo de lo que pensaba, ;) |
|
#4
|
||||
|
||||
|
He intentado hacer que las coordenadas de la zona sobre la que se pulsa del TouchImageView sean las mismas al hacer zoom pero no lo consigo, ¿alguien podría explicarme algún ejemplo?
|
![]() |
Estás aquí
|
||||||
|
||||||