안녕하세요
이미지뷰가 아닌 view에 이미지를 그리고 색칠하기를 하는데요..
이미지 줌인 및 줌시 화면움직이기를 하는데요.
줌인을 하지않으면 잘되는데요 줌했을시는 터치가 엉뚱한데 되는데 어떻게 계산하나요 찾아보니 각포인트마다 스켈링값 곱하기 해주라는데 그렇게 해도 안되더라구요.
final int action = event.getAction();
switch (action & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN: {
final float x = event.getX();
final float y = event.getY();
mLastTouchX = x;
mLastTouchY = y;
mActivePointerId = event.getPointerId(0);
break;
}
case MotionEvent.ACTION_MOVE: {
final int pointerIndex = event.findPointerIndex(mActivePointerId);
final float x = event.getX(pointerIndex);
final float y = event.getY(pointerIndex);
// Only move if the ScaleGestureDetector isn't processing a gesture.
if (!mScaleDetector.isInProgress()) {
final float dx = x - mLastTouchX;
final float dy = y - mLastTouchY;
mPosX += dx;
mPosY += dy;
invalidate();
}
mLastTouchX = x;
mLastTouchY = y;
break;
}
case MotionEvent.ACTION_UP: {
mActivePointerId = INVALID_POINTER_ID;
paint((int) (event.getX()-mPosX),
(int) (event.getY()-mPosY )
여기가 주요부분
) ;