我使用本网站其他地方提供的 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 是分开的函数)。我要身份证!帮助!