Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用矩阵确定图像在ImageView中的实际位置?_Android_Matrix_Android Imageview - Fatal编程技术网

Android 如何使用矩阵确定图像在ImageView中的实际位置?

Android 如何使用矩阵确定图像在ImageView中的实际位置?,android,matrix,android-imageview,Android,Matrix,Android Imageview,我有缩放类型为ScaleType.MATRIX的ImageView。 用户可以旋转、缩放和拖动其中的图像。 我想知道的是用户更改后的实际图像x,y位置 我试着从它的ImageMatrix得到x,y的位置 Matrix m = new Matrix(); m.set(imgView.getImageMatrix()); float[] value = new float[9]; m.getValues(value); Log.d("cutt matrix~~~~~~~~",

我有缩放类型为
ScaleType.MATRIX
的ImageView。 用户可以旋转、缩放和拖动其中的图像。 我想知道的是用户更改后的实际图像x,y位置

我试着从它的ImageMatrix得到x,y的位置

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\u X]
value[Matrix.MTRANS\u Y]
给我正确的X,Y位置。。 但是如果用户以某种方式旋转图像,它会给出错误的x,y位置

有人能解释为什么吗?以及如何在旋转后获得正确的位置。
谢谢……

尝试记录参考点,如左上角(x,y),并在每次更改图像时更新其更改。

尝试记录参考点,如左上角(x,y),并在每次更改图像时更新其更改