0
我需要單擊畫布上的特定項目,同時縮放和移動功能也爲畫布啓用。我可以在移動畫布時計算矩形的位置。在那裏,我只是通過(CurrenTouchXPosition - StartXPosition)來計算觸摸移動距離。放大畫布後在畫布上獲取特定位置android
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
int x = (int) event.getX();
int y = (int) event.getY();
float moveOffsetX = (event.getX() - start.x);
float moveOffsetY = (event.getY() - start.y);
然後,
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
savedMatrix.set(matrix);
start.set(event.getX(), event.getY());
mode = DRAG;
break;
case MotionEvent.ACTION_POINTER_DOWN:
break;
case MotionEvent.ACTION_UP:
Log.d(TAG, "action up");
secondRectUpperX = secondRectUpperX + moveOffsetX;
secondRectBottomX = secondRectBottomX + moveOffsetX;
secondRectUpperY = secondRectUpperY + moveOffsetY;
secondRectBottomY = secondRectBottomY + moveOffsetY;
這可以識別矩形的新畫布位置。這工作完美。通過此邏輯移動畫布時,我可以識別特定項目的觸摸事件。 但是現在我需要在放大畫布之後計算相對於畫布的矩形位置。什麼是變焦背後的數學。如果有人知道,請在這幫助。 謝謝。