2
スケールタイプScaleType.MATRIX
のImageViewがあります。 ユーザーは、画像を回転、ズーム、ドラッグすることができます。 私が知りたいのは、ユーザーが行った変更後の実際の画像x、yの位置ですか?Matrixを使用してImageView内のイメージの実際の位置を特定するにはどうすればよいですか?
私はX、それはユーザーが画像を回転させていなかった場合は、value[Matrix.MTRANS_X]
& value[Matrix.MTRANS_Y]
が正しく、私のy位置をXを与える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]);
だからyの位置を取得しよう... しかし、ユーザーの場合何らかの理由で画像を回転させると、x、yの位置が間違って表示されます。
誰でも説明できますか?そして回転後に正しい位置を得る方法。 ありがとう...