2014-01-15 48 views
0

我在第一次觸摸時在我的android應用程序的屏幕上放置了一個圖標。 我已經能夠實現相同的,但我的問題是關於這個圖像的位置可以如何。如何在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); 

的形象似乎在我接觸的點疊加(我不知道哪個座標)。和輸出看起來像這樣 enter image description here

當我不使用任何因素,使用下面的代碼

 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

可否此需要測量的尺寸,即寬度和圖像高度,以將圖像放置在所需location.How的默認操作機器人等地方放大圖相對於正常的小觸摸點。考慮圖像的質心?

回答

1

drawBitmap的x和y參數指向位圖的左上角。

這裏將是正確的(X,Y)座標如果你給圖像無邊框(假設它是沿x軸對稱):

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

衡量你的位圖繪製,然後將這些值添加到繪製座標。

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

該代碼應該讓你知道該怎麼做。

相關問題