2012-02-09 7 views
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の位置が間違って表示されます。

誰でも説明できますか?そして回転後に正しい位置を得る方法。 ありがとう...

答えて

0

左上隅(x、y)のような参照点を記録し、画像を変更するたびにその変更を更新してみます。

関連する問題