1

ポイントがマトリックス座標に含まれているかどうかを確認することはできますか? ビューの描画に使用される元のマトリックスがあり、onTouch イベント座標がその座標に含まれているかどうかを知りたいです。ありがとう


わかりました、もっとよく説明する必要があります。カスタム ビュー MyView があります。そのコンストラクターで、マトリックスを渡してビューを描画します。onDraw メソッドは次のとおりです。

@Override   
protected void onDraw(Canvas canvas) {  
         super.onDraw(canvas);
         canvas.drawBitmap(this.baseBitmap, this.matrix, null); 
}

onTouch メソッドでは、これらを使用してタッチ ポイントを取得できますevent.getX()event.getY()タッチ ポイントが MyView 内にあるかどうかを確認する必要があります。

それが今明確であることを願っています:)

4

2 に答える 2

1

次のコードを使用して、行列の (x4,y4) 座標を計算しました。

float[] matrixValues = new float[9];
matrix.getValues(matrixValues);
view.getDrawable().getIntrinsicHeight() * matrixValues [0]; 
view.getDrawable().getIntrinsicWeight() * matrixValues [0];

レイヤー管理のため、次のメソッドを使用して ImageView 座標を確認する必要があります。

yourImageView.getTop()
yourImageView.getBottom()
yourImageView.getRight()
yourImageView.getLeft()

例えば

float[] m = new float[9];
matrix.getValues(m);
int layoutHeight = view.getBottom() - view.getTop();
float maxMatrixBottomPosition = - ((view.getDrawable().getIntrinsicHeight() * m[0]) - layoutHeight);
于 2011-05-23T13:27:46.513 に答える
0
float[] values = new float[9];
matrix.getValues(values);
globalX = values[2];
globalY = values[5];

ここで、globalx と globaly は、ビューの x 座標と y 座標を提供し、それを event.getX および event.getY の値と比較します。

于 2011-04-26T12:11:23.030 に答える