2012-02-09 34 views
2

我有縮放類型ScaleType.MATRIX的ImageView。 用戶可以旋轉,縮放和拖動它裏面的圖像。 我想知道的是用戶執行更改後的實際圖像x,y位置?如何使用Matrix確定ImageView中圖像的實際位置?

我嘗試一下X,從中y位置是ImageMatrix

Matrix m = new Matrix(); 
m.set(imgView.getImageMatrix()); 
float[] value = new float[9]; 
m.getValues(value); 
Log.d("cutt matrix~~~~~~~~", 
     value[Matrix.MSCALE_X] + " ## " 
     + value[Matrix.MSCALE_Y] + " ## " 
     + value[Matrix.MSKEW_X] + " ## " 
     + value[Matrix.MSKEW_Y] + " ## " 
     + value[Matrix.MTRANS_X] + " ## " 
     + value[Matrix.MTRANS_Y] + " ## " 
     + value[Matrix.MPERSP_0] + " ## " 
     + value[Matrix.MPERSP_1] + " ## " 
     + value[Matrix.MPERSP_2]); 

如果用戶沒有旋轉圖像,value[Matrix.MTRANS_X] & value[Matrix.MTRANS_Y]給我x,y位置正確.. 但是,如果用戶旋轉圖像莫名其妙x,y的位置..

任何人都可以解釋爲什麼?旋轉後如何獲得正確的位置。 謝謝...

回答

0

嘗試記錄一個參考點,如左上角(x,y),並在每次更改圖像時更新其更改。

相關問題