我有缩放类型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_X]
& value[Matrix.MTRANS_Y]
正确地给我x,y位置..
但是如果用户以某种方式旋转图像,则会给出错误的x,y位置..
任何人都可以解释原因吗?以及如何在旋转后获得正确的位置。 感谢...
答案 0 :(得分:0)
尝试记录参考点,例如左上角(x,y),并在每次更改图像时更新其更改。