android - studio - Cómo obtener el ancho/alto escalado en la vista de imagen después de la escala posterior()
redimensionar imagenes android studio (1)
Rhode Island-
Aquí está mi solución para el mismo problema que tuve al usar el zoom de pellizco / arrastrar pan. Puede adaptarlo a sus propias necesidades. Puse esto dentro de la porción de zoom de MotionEvent.Action_Move
else if (mode ==ZOOM){
float newDist = spacing(event);
if(newDist > 10f){
int height;
int width;
matrix.set(savedMatrix);
float scale = newDist/oldDist;
matrix.postScale(scale,scale,mid.x,mid.y);
setImageMatrix(matrix);
height = (int)(ivViewPoint.y * scale);
width = (int)(ivViewPoint.x * scale);
ivViewPoint = new Point(width,height);
}
Espero que ayude.
Tengo un código que permite al usuario pellizcar y acercar algunas imágenes en la pantalla. Yo uso AbsoluteLayout y imageviews para mostrar las imágenes. Para lograr esto, hice que las vistas de imagen tengan ancho / alto completo para su elemento principal. Luego, cuando el usuario toque un punto, detectaré qué imagen se encuentra debajo de ese área de puntos y usar bringChildToFront () para que tenga foco para el evento onTouch (). Cuando el usuario hace un pellizco-zoom, uso la matriz y su método postScale (), usando este código android imageView: configuración de arrastrar y pellizcar los parámetros de zoom
Ahora, lo que me hace confundir es, ¿cómo obtener el ancho / alto actual de la imagen después de postScale ()? He intentado:
-
getDrawable().getIntrinsicHeight()
<- didnt work. Siempre devuelve el ancho / alto original -
getDrawable().getBounds().width()
<- igual que arriba -
getDrawingCache().getWidth()
<- esto simplemente devuelve el ancho / alto de la imagen
Entonces, ¿cuál es la forma apropiada de lograr esto? Gracias.
-Rhode Island