2013-09-24 42 views

回答

0

我假設圖像#1是parentview到圖像#2。

int x = image2.getLeft(); 
int y = image2.getTop(); 

將返回像素座標相對於image2的父視圖image1的x,y。

+0

不,#1是圖像視圖,但實際位圖顯示了#2所在的位置。我無法在image2上調用getLeft,因爲它是image1 ImageView的一部分。 – mtbomb

1

如果你想知道如何使用的ImageView變換矩陣像ImageView的,你可以映射點可繪製coresponds到(X,Y)的(0,0),所以

float[] drawableCoords = new float[] {0, 0}; 
imageView.getImageMatrix().mapPoints(drawableCoords); 
float onViewX = drawableCoords[0]; 
float onViewY = drawableCoords[1]; 

你也可以逆轉過程(從ImageView的映射通過在其上創建逆矩陣和馬平點

float[] viewCoords= new float[] {0, 0}; 
Matrix invertedMatrix = new Matrix() 
imageView.getImageMatrix().invert(invertedMatrix); 
invertedMatrix.mapPoints(viewCoords); 
float onDrawableX= viewCoords[0]; 
float onDrawableY= viewCoords[1]; 

注意,轉化在某些情況下座標可以具有負的座標值,如果可拉伸小於/大於imageview的更大的座標繪製的座標。

相關問題