當(dāng)前位置:首頁(yè)文章首頁(yè) 圖形圖像 圖像處理

ImageView的Matrix如何獲得當(dāng)前縮放圖片的位置

作者:  來(lái)源:  發(fā)布時(shí)間:2011-6-6 10:09:54  點(diǎn)擊:

  ImageView通過SetImageMatrix進(jìn)行圖片縮放屢見不鮮。但是如何獲得當(dāng)前縮放圖片的位置信息呢?

  用ImageState存儲(chǔ)圖片繪制信息:

  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中的圖片四個(gè)邊的值。

  通過ImageState可以計(jì)算點(diǎn)擊ImageView對(duì)應(yīng)圖片的像素點(diǎn)!

文章評(píng)論

軟件按字母排列: 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