当前位置: 首页图形图像 图像处理 → ImageView的Matrix如何获得当前缩放图片的位置

ImageView的Matrix如何获得当前缩放图片的位置

更多

  ImageView通过SetImageMatrix进行图片缩放屡见不鲜。但是如何获得当前缩放图片的位置信息呢?

  用ImageState存储图片绘制信息:

  public class SubwayMapState { private float left; private float top; private float right; private float bottom; }

  然后获取ImageView的matrix,根据matrix的getValues获得3x3矩阵。

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

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

  通过ImageState可以计算点击ImageView对应图片的像素点!

热门评论
最新评论
昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
字数: 0/500 (您的评论需要经过审核才能显示)