答案 0 :(得分:1)
这个问题的一个近乎完美的解决方案是使用SVG图像和svg代码的这个转换器来成像图像区域标记:http://www.electricfairground.com/polygonator/。结果是一个合适的图像映射,虽然svg图像可能需要调整大小,并且这些国家或省份似乎都被抵消并偶尔混乱。因此,这需要在wysiwig编辑器中打开使用SVG图像生成的页面或导出SVG文件的PNG副本,该编辑器允许您移动imagemap元素。
我正在试图弄清楚偏移的模式是什么,如果我这样做,我会在这里发布:http://wherehaveibeen.info/images/polye.html。 “Polygonator”的作者让我了解他的服务并使用他的文章中的svg地图图像:http://www.electricfairground.com/2009/08/08/image-map-rollover-effects-using-jquerys-maphilight-plugin/。他主张在那里,通过Inkscape将png图像追踪到svg图像中。但由于维基百科已经有SVG格式的地图,为什么不直接使用代码呢?事实证明,svg文件基本上已经分离了多边形并指定了边界区域,至少在维基百科的灰色地图http://en.wikipedia.org/wiki/Wikipedia:Blank_maps中,他们只需要使用Polygonator进行一些清理。
我发现如果我在Notepad ++中打开了SVG代码,我可以复制并粘贴SVG文件的全部内容,并且多边形器将删除不需要的代码。之后需要稍微清理一下imagemap区域标签,但不是很多。最大的问题是上面提到的生成的区域标签区域,并且场景混淆了生成的代码中图像映射区域的重叠位置。
答案 1 :(得分:1)
这里真正的答案似乎是SVG文件几乎已经是图像地图,可以进行温和处理以将其转换为图像地图,而维基百科肯定有很多SVG地图。
至少有三个项目尝试这样做,目前只取得了一些成功。我现在更感兴趣的是制作SVG文件处理在线图像映射器服务,因此可以在该项目上工作,而不仅仅是地图着色一个:
Polygonator - 这里描述:http://www.electricfairground.com/2009/08/08/image-map-rollover-effects-using-jquerys-maphilight-plugin/但实际服务在这里:http://www.electricfairground.com/polygonator/index.html - 是迄今为止我认为最简单,最好的服务或软件。您必须手动将SVG XML文本转储到输入字段中,但尽管作者说,我认为您可以将整个SVG文件转储到字段中,而不仅仅是“M-z标记”。生成的区域标记需要编辑以删除没有坐标的空白区域和只有两个点的多边形。
Inkscapemap - http://sourceforge.net/projects/inkscapemap/ - 对复杂的SVG文件(例如带阴影的文件)进行扼流。此外,我无法将其显示为HTML服务,即使我遵循了有关使用我在清单文件中描述的jar文件的主类的建议以及引用主jar文件和支持文件“存档“属性。
http://davidlynch.org/blog/2008/03/creating-an-image-map-from-svg/ - 非常有趣的项目,有许多博客评论。图像映射不是很完美,需要编辑。
答案 2 :(得分:0)
我看到我可以使用GD PHP的imagecolorat并循环遍历所有像素以找到那些黑色的像素。这有效:
<?php
$im = ImageCreateFromPNG("india.png");
$width = imagesx($im);
$height = imagesy($im);
for ($cy=0;$cy<$height;$cy++) {
echo '<p>';
for ($cx=0;$cx<$width;$cx++) {
$rgb = ImageColorAt($im, $cx, $cy);
$col = imagecolorsforindex($im, $rgb);
if ($col["red"] == 0 && $col["green"] == 0 && $col["blue"] ==0){
echo $cx.", ".$cy." ";
} else {echo "";}
}
}
?>
任何人都可以建议如何在巨大的多边形复合体中找到多边形,这些复合体是通过运行上述代码得到的,例如印度的黑白2色地图,其中所有边界都是黑色的,并且是州和印度洋的内部是白色的吗?
以下是印度的图片:http://wherehaveibeen.info/images/india.png以及现在需要分割成单独多边形的图像坐标的混乱:http://wherehaveibeen.info/images/black.php