Actualmente estoy desarrollando una aplicación Android para mi proyecto final de lo que debería ayudar a las personas autistas indican cuando algo duele y ello, toque una imagen del cuerpo humano.¿Cómo puedo reconocer qué área de una imagen (no solo coordenadas) se ha tocado en Android?
El problema que he encontrado es que no sé cómo identificar la parte de la imagen que tocan. La imagen es un mapa de bits, que se mantiene como mapa de bits en un ImageView. La primera vez que se toca, se amplía a través de una animación y estableceFilledAfter (true), y desde allí cuando se toca un área, la aplicación debe reconocer las partes principales del cuerpo (por ejemplo, cabeza, mano izquierda ...).
Las áreas a ser reconocidos no son cuadrados lo que la comprobación de coordenadas no es realmente una opción. Estaba pensando en hacer que cada parte sea reconocida como una vista diferente dibujada en la parte superior de la imagen original, pero también estoy abierto a otras soluciones.
Para hacer las cosas un poco más interesante la aplicación deben trabajar en diferentes dispositivos y resoluciones, tanto en los móviles y tabletas.
Gracias por lo mucho de antemano por su ayuda. Es realmente necesario y apreciado.
EDITAR
Al final lo que estaré tratando es la siguiente. Voy a tener dos copias de la imagen, una para mostrar, otra interna, con las áreas que quiero reconocidas pintadas en diferentes colores. Entonces, el plan es extrapolar las coordenadas que obtengo del evento Touch para averiguar a qué píxel corresponde en relación con el original, el uso de Bitmap.getPixel() para determinar el color que es, luego tener una declaración de caso que devuelve el Cadena de cada parte.
estoy codificar esta en este momento, si alguien está interesado dejar un mensaje y voy a publicar cómo funcionaba todo, y yo alguien le pide que sea aún el código apropiado: D
Gracias a Shade por darme alguna otras opciones a considerar.
@ user647899, una muy buena idea! Publique su solución para que otros se beneficien si se topan con el mismo problema. – Shade