當前位置:首頁文章首頁 圖形圖像 圖像處理

ImageView的Matrix如何獲得當前縮放圖片的位置

作者:  來源:  發(fā)布時間:2011-6-6 10:09:54  點擊:

  ImageView通過SetImageMatrix進行圖片縮放屢見不鮮。但是如何獲得當前縮放圖片的位置信息呢?

  用ImageState存儲圖片繪制信息:

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

  然后獲取ImageView的matrix,根據(jù)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對應圖片的像素點!

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z