2014-01-15 5 views
0

첫 터치에서 안드로이드 앱의 내 화면에 아이콘을 배치하고 있습니다. 나는 동일한 것을 구현할 수 있었지만 나의 질문은이 이미지의 위치가 어떻게 될 수 있는지에 관한 것이다. android의 정확한 터치 위치에 이미지 아이콘을 배치하는 방법

난 (20)의 요소를 사용하고 측면 내 onTouch 이벤트에 다음 코드를 사용

,

Bitmap img = BitmapFactory.decodeResource(Res, R.drawable.myPoint); 
canvas.drawBitmap(img, vec.get(i).x - 20, vec.get(i).y - 20, null); 

이미지 내 터치 지점에 중첩 것 같다 (내가 좌표 확실하지 않다). 내가 어떤 요소를 사용하고

 Bitmap img = BitmapFactory.decodeResource(Res, R.drawable.myPoint); 
     canvas.drawBitmap(img, vec.get(i).x , vec.get(i).y , null); 

이미지는 여기에서 볼 수 있듯이 터치의 관점에서 약간 멀리 배치 될 것으로 보인다 다음과 같은 코드를 사용하지 않을 때 출력이 enter image description here

것 같습니다. enter image description here

내 목표는 제대로 (오른쪽) 이미지의 뾰족한 끝을 터치 내가 거기에서이 같은 다음 클릭 위치로 경로를 촬영할 수 있도록 일어난 정확한 좌표를 가리 키도록입니다 . enter image description here

이미지를 필요한 위치에 배치하려면 이미지의 너비와 높이를 측정해야합니다. 안드로이드는 기본적으로 작은 터치 포인트와 관련하여 큰 이미지를 배치합니다. 이미지의 중심이 고려 되었습니까?

답변

1

drawBitmap의 x 및 y 인수는 비트 맵의 ​​왼쪽 위 모서리를 참조합니다.

x = touchX - bitmapWidth; 
y = touchY - bitmapHeight/2; 
0

당신이있어 비트 맵을 측정 : 당신이 준 이미지 주위에 테두리가없는 경우 여기

적절한 (X, Y)을 것이다 좌표 (가 x 축을 따라 대칭 가정) 그리기를 선택한 다음 해당 값을 그리기 좌표에 추가합니다.

canvas.drawBitmap(img, vec.get(i).x + (img.x/2), vec.get(i).y + img.y, null) 

그 코드는 무엇을 해야할지 알려줍니다.