У меня есть ImageView с типом масштаба ScaleType.MATRIX
.
Пользователь может вращать, масштабировать и перетаскивать изображение внутри него.
То, что я хотел знать, это фактическое положение изображения x, y после изменений, выполненных пользователем?
Я пытаюсь получить положение 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 ..
Кто-нибудь может объяснить, почему? И как получить правильную позицию после поворота.
Спасибо ...