2009-11-06 48 views
3

下面的问题不是一个真正的编程问题,而是更多的“我该怎么做”的问题,实施建议。我该如何做一个精确的图像形状的MouseOver?

我有世界地图的图像。我可以使每个大陆成为一个单独的图像。

我想要做的是创建一个悬停在每个大陆的功能。当用户鼠标在大陆上时 - 即我想让它改变颜色的大陆的形状。

我的主要问题是,当用户鼠标超过确切的大陆的形状时,我该如何参考?我不想为此使用Flash,尽管我恐怕没有其他办法可以做到这一点?

感谢所有

回答

6

我知道如何做到这一点(不包括外部库或JS)的唯一方法是使用<map>。你将不得不放在COORDS和形状(在这种情况下多为形状)以适应所要允许区域:http://www.w3schools.com/TAGS/tag_map.asp

+0

谢谢你,不知道可以做正方形/长方形以外的其他形状! – Abs 2009-11-06 15:30:30

+0

Np。显然,聚合物的“正确性”取决于你的理智程度,但理论上你可以达到近乎100%的匹配。 – 2009-11-06 15:49:32

+1

您可以将GIMP路径导出到svg文件。您可以使用geany和excel编辑它们以将它们转换为AREA“poly”coördinates:(1)用geany打开文件以选择路径节点的“d”值(跳过M和C行)。 (3)将数据粘贴到excel中去除十进制数字(4)复制第1,2列(5)粘贴到geany中(6)将制表符和换行符替换为逗号(使用\ n转义字符) – Pete 2012-06-27 16:48:56

1

这取决于你的平台(网络,winform,linux,os x等)。

在网页上,您可以使用图像映射。

在任何OS托管的应用程序上,您可以使用区域执行图像映射的等效操作。或者你甚至可以测试你正在盘旋的像素的颜色。

5

回答你的主要问题,你可能需要使用一个很好的旧图像映射。 This image map generator过去对我来说效果不错。

至于让他们改变颜色,你总是可以使用精灵,只是改变悬停每个国家的背景位置?

+0

+1生成器。 – 2009-11-06 15:18:42