Tengo una imagen en control de vista de imagen. El usuario puede realizar una panorámica y un acercamiento a esta imagen, debido a que las coordenadas xey cambian continuamente. ¿Hay alguna manera de descubrir las coordenadas actuales xey de la imagen dentro del control de imagen? Cualquier código relacionado sería más beneficioso.¿Cómo obtener la coordenada xey de la imagen de mapa de bits en el control de imagen?
Respuesta
ImageView usa la clase Matrix para hacer escala (Zoom) y la traducción (panorámica). Si puede apropiarse de la matriz, puede recuperar la coordenada (izquierda, arriba) de la vista ampliada/panoramizada.
Código de zoom & imageview extendida pannable está disponible en uno de los stackoverflow posts
En ese puesto verá clase ImageView extendido tiene matriz como una variable miembro utilizado para escalar/traducción.
Puede usar el siguiente código para obtener los límites de ImagevIew (en realidad mapas de bits) con zoom/panned desde la matriz.
RectF r = new RectF();
matrix.mapRect(r);
Log.i(TAG, "Rect " + r.left + " " + r.top + " " + r.right + " " + r.bottom + " " + mOverAllScale + " ");
RESPUESTA recién agregado
Para entender el código de abajo, tiene que ir a través de este link y entender.
traducción
Cuando el usuario arrastra la imagen, la pantalla de co-ordenada (absoluto) y mapa de bits de coordenadas ir fuera de sincronización. [Todo lo que escriba en el mapa de bits se muestra a través del lienzo (en onDraw())] Si aplica el coloreado, el usuario vería que se aplica en una región diferente en la imagen del mapa de bits. Para corregir esto, necesitas hacer una traducción. La traducción cambiaría las coordenadas de entrada del usuario (que son coordenadas de pantalla) a coordenadas de mapa de bits (como pretendía el usuario) El siguiente fragmento de código lo ayudaría a realizar la traducción.
Let La entrada del usuario co-ordenadas sean (x, y), entonces,
RectF r = new RectF();
matrix.mapRect(r);
Log.i(TAG, "Rect " + r.left + " " + r.top + " " + r.right + " " + r.bottom + " " + mOverAllScale + " ");
float newX = x - r.left;
float newY = y - r.top;
Se utiliza nuevas coordenadas en lugar de (x, y).
zoom (Scaling)
Cuando pellizcos de usuario de entrada/salida; el mapa de bits se acerca o se acerca Zoomed. Debe observar que el mapa de bits original no se cambia, el acercamiento solo es desde la perspectiva de la pantalla. Esto da como resultado una pérdida de sincronización entre la pantalla y el mapa de bits. El color aplicado en la pantalla debe reflejarse en la imagen mostrada. El siguiente fragmento de código lo ayudaría a escalar.
// mScalingFactor shall contain the scale/zoom factor
float scaledX = (event.getX() - r.left);
float scaledY = (event.getY() - r.top);
scaledX /= mScalingFactor;
scaledY /= mScalingFactor;
Shash
gracias Shash. Por favor, hágamelo saber acerca de sus hallazgos. –
Editado la respuesta – Shash316
Muchas gracias Shash. –
- 1. Cambiar el tamaño de la imagen de mapa de bits
- 2. Cambiar la opacidad de una imagen de mapa de bits
- 3. Cómo convertir mapa de bits a imagen
- 4. Imagen vs clase de mapa de bits
- 5. Descargar imagen y crear mapa de bits
- 6. Convertir la imagen en un cuadro de imagen en un mapa de bits
- 7. Obtener una imagen de mapa de bits desde una vista de Control
- 8. ¿Cómo se recorta el mapa de bits como una imagen?
- 9. cómo cargar la imagen con la ruta relativa en el mapa de bits
- 10. convertir imagen de recursos dibujables en mapa de bits
- 11. imagen de conversión a mapa de bits en android
- 12. Tamaño de imagen de mapa de bits de Android
- 13. ¿Cómo se establece el mapa de bits en la vista de imagen circular?
- 14. Diferencia entre un mapa de bits y una imagen de mapa de bits en WPF
- 15. ¿Cómo puedo obtener una imagen de mapa de bits de un recurso?
- 16. Asignar imagen de mapa de bits de Resources.resx a Image.Source?
- 17. Obtener imagen del mapa de MKMapView
- 18. Obtener ImageSource de mapa de bits?
- 19. Cómo obtener un mapa de bits a partir de una imagen sin formato
- 20. Cómo obtener escalado Mapa de bits de ImageView
- 21. Cómo obtener celdas (<td>) coordenada xey en la tabla usando jQuery?
- 22. ¿Cómo obtener el color de coordenada x, y de un píxel de una imagen?
- 23. ¿Cómo convertir las coordenadas de la vista de imagen a las coordenadas del mapa de bits?
- 24. C# cómo obtener un mapa de bits desde un cuadro de imagen
- 25. Renderice un control WPF "no visible" a una imagen de mapa de bits
- 26. ¿Por qué el mapa de bits causa la regla CA2000, pero la imagen no?
- 27. Eliminar la imagen de una vista de imagen Android
- 28. Convirtiendo Imagen a mapa de bits se vuelve negro
- 29. Tienda de imagen de mapa de bits a la tarjeta SD en Android
- 30. Android: Cómo: configurar la imagen de ImageSwitcher mediante un mapa de bits? setImageBitmap no existe?
Check it out este enlace puede ser útil ..... http://stackoverflow.com/questions/2447564/detect-touch-on-bitmap – Uttam