[javascript] HTML5命中檢測是否可能?


Answers

Question

我已經使用在本網站其他地方提供的Canvas代碼來創建一個屏幕,其中有不透明的部分是不規則形狀的幾個重疊的透明PNG。 我可以得到光標下的顏色,這很好。 但是我的形狀都是相同的顏色,我需要一種方法來獲得特定形狀的ID,所以我知道哪一個被點擊。 想像一下由重疊PNG組成的地圖到達國家,你想要檢測哪個國家被點擊。 從我可以告訴,id檢測只適用於矩形區域。 有什麼建議麼?

$('#myCanvas').click(function(e){
var position = findPos(this);
var x = e.pageX - position.x;
var y = e.pageY - position.y;
var coordinate = "x=" + x + ", y=" + y;
var canvas = this.getContext('2d');
var p = canvas.getImageData(x, y, 1, 1).data;
var hex = "#" + ("000000" + rgbToHex(p[0], p[1], p[2])).slice(-6);
alert(hex);
});

此代碼獲取並顯示顏色(findPos和rgbToHex是為了清晰起見而分開的功能)。 我需要一個ID! 幫幫我!




Related