ImageView的Matrix能够获得的神马

ImageView经过SetImageMatrix进行图片缩放家常便饭。可是如何得到当前缩放图片的位置信息呢?spa

用ImageState存储图片绘制信息:code

 
  1. public class SubwayMapState { 
  2.     private float left; 
  3.     private float top; 
  4.     private float right; 
  5.     private float bottom; 

而后获取ImageView的matrix,根据matrix的getValues得到3x3矩阵。图片

 
  1. Matrix matrix = mImageViewMap.getImageMatrix(); 
  2. Rect rect = mImageViewMap.getDrawable().getBounds(); 
  3. float[] values = new float[9]; 
  4. matrix.getValues(values); 
  5. ImageState mapState = new ImageState(); 
  6. mapState.setLeft(values[2]); 
  7. mapState.setTop(values[5]); 
  8. mapState.setRight(mapState.getLeft() + rect.width() * values[0]); 
  9. mapState.setBottom(mapState.getTop() + rect.height() * values[0]); 

这样,mapState中存放的是mImageViewMap中的图片四个边的值。get

经过ImageState能够计算点击ImageView对应图片的像素点!it

相关文章
相关标签/搜索