마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

translate후에 제대로된 좌표값을 얻어오려면 어떻게 해야 하나요?

0 추천
canvas.translate(xx, yy);     
translate하고난후에 좌표를 log찍어보면 엉뚱한 좌표가 나옵니다...
좌표를 얻는건 MotionEvent.ACTION_DOWN 일때
location[0] = (int) (e.getX()); // 터치된 좌표
location[1] = (int) (e.getY());
해서 좌표값을 얻어오고요..
 
translate후에 제대로된 좌표값을 얻어오려면 어떻게 해야 하나요?

 

 

나능킬러 (280 포인트) 님이 2013년 12월 18일 질문

1개의 답변

0 추천
e.getX()와 e.getY()는 스크린상의 터치한 위치를 반환합니다. canvas.translate를 해도 아무 영향이 없죠.

 

translate한 후에 어떤 좌표값을 얻어오기 원하시는건가요?
방귀과장 (18,940 포인트) 님이 2013년 12월 18일 답변
translate한후에 화면을 터치햇을때 그위치에 비트맵이 그려져야는데
좀 떨어진 위치에 이미지가 그려지거든요ㅠ
translate하면 캔버스가 그만큼 이동되기 때문에 터치한 위치에서 떨어진 위치에 이미지가 그려지는 것이 정상입니다.

translate 말고 다른 접근 방식을 사용하셔야 하지 않을까 싶네요.

혹시 소스를 보내주실 수 있으시면 한번 살펴볼께요. goodsogi@gmail.com으로 보내주세요.
...