(HTML5)画布是否有图像映射的等效物?

16
5个回答

17

即使没有,将图片映射到一个定位在画布上的透明图像上,难道不能达到您所需求的效果吗?


15

3
更新:该问题已在此工作组决定中关闭。 - wearego

6
作为解决您问题的方案:我会将点击事件附加到画布上,在鼠标事件中检查鼠标坐标,然后使用一些组合了多边形的区域列表进行某种形式的碰撞测试。矩形是一个开始,但如果您真正需要特殊区域,则需要进行更高级的碰撞测试。
在Flash中,我曾经使用过快速解决方案来实现像素精度地图,即制作第二个隐藏的覆盖位图,当有人点击可见图像时,您可以使用该位图进行查找。
这是旧冒险游戏中使用的相同技术。每个“区域/对象/链接”都有自己的像素颜色。然后,您只需保留具有匹配颜色的对象列表。
一旦您获得了鼠标坐标下的像素颜色,那么您就可以在表格中进行非常快速的查找.. 然后就完成了...
首先,您需要用零(黑色)清除“单击图像”,这等同于“无链接”,然后使用特殊颜色绘制每个区域并将其存储在列表中。
如果您需要更多帮助,请随时问我。我希望这是一个有用的答案。

2

2

看看Cake吧。它是一个用于canvas的场景图插件。也许对你所需的有些复杂,但你可以将事件添加到Cake包装的canvas对象中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接