2011-11-27 2 views
0

그래서 일반적인 이미지 회전 문제가 있습니다. 회전을 만들고 올바르게 크기를 조정하는 방법을 찾을 수 있었지만 지금은 사용자가 터치하는 지점에서 이미지가 회전하도록 설정하려고합니다.선택 지점에서 이미지 회전

현재 터치하면 이미지의 상단이 터치가 처음 발생한 위치로 회전합니다. 이미지에 닿은 지점에 머무르고 그 지점에서 회전 할 수 있도록 어쨌든 있습니까?

도움 주셔서 감사합니다.

+0

작동하지 않는 코드라도 게시해야합니다. 그것은 당신의 질문에 대답하고자하는 사람들에게 큰 도움이 될 것입니다! – aganders3

+0

질문에 대한 답변이있는 경우 솔루션을 답변으로 게시하고 답변 옆의 확인란을 클릭하여 동의하십시오. –

답변

0

내 코드가 수정되었습니다. ACTION_DOWN이 호출되었을 때 초기 학위를 취득한 다음 ACTION_MOVE 동안 해당 정도만큼 회전을 오프셋해야합니다. 코드 게시

 //Finds the initial degree where my finger is pressed. 
     case MotionEvent.ACTION_DOWN:{ 
      double arc = Math.atan2(event.getX() - v.getWidth()/2, v.getHeight()/2 - event.getY()); 
      initDegree = (float) Math.toDegrees(arc); 
      setTitle("counter" + counter++); 
      break;} 
     // Using the Initial Degree change I offset the degrees to send to my rotate function. 
     case MotionEvent.ACTION_MOVE:{ 
      double arc = Math.atan2(event.getX() - v.getWidth()/2, v.getHeight()/2 - event.getY()); 
      float degrees = (float) Math.toDegrees(arc); 
      rotate(degrees-initDegree); 
      break;}