ヒット テストを実行しようとしているビットマップ イメージがあります。ヒット テストは、通常のビットマップの場合に機能します。しかし、ビットマップを回転およびスケーリングする必要があり、ヒット テストを適切に把握できないようです。
ここでの x と y は、カーソル x と y です。操作されたビットマップ内でカーソル (指で押す) がクリックされたかどうかを確認する必要があります。スケールは正常に動作しているように見えますが、回転は影響していないようです。
float[] pts = new float[4];
float left = m.getX();
float top = m.getY();
float right = left + mBitmaps.get(i).getWidth();
float bottom = top + mBitmaps.get(i).getHeight();
pts[0] = left;
pts[1] = top;
pts[2] = right;
pts[3] = bottom;
float midx = left + mBitmaps.get(i).getWidth()/2;
float midy = top + mBitmaps.get(i).getHeight()/2;
Matrix matrix = new Matrix();
matrix.setRotate(m.getRotation(), midx, midy);
matrix.setScale(m.getSize(), m.getSize(), midx, midy);
matrix.mapPoints(pts);
if(x >= pts[0] && x <= pts[2] && y >= pts[1] && y <= pts[3])
{
return i;
}