EDIT5:最终用Java语言实现了安格斯·约翰逊的Clipper库,并选择了Sourceforge作为宿主。

现场演示:http://jsclipper.sourceforge.net/6.1.1.1/main_demo.html

下载源:
https://sourceforge.net/projects/jsclipper/

带有逐步教程的Wikipage:
https://sourceforge.net/p/jsclipper/wiki/Home%206/

演示程序的演示,包括数十个示例多边形:
https://sourceforge.net/p/jsclipper/wiki/Main_Demo%206/

希望这对需要具有折线功能的折线和多边形剪贴库的所有人有所帮助。

EDIT4:一种可能性是使用将pascal转换为javascript
http://p2js.gelicon.biz/en/。尚未成功。 p2js.exe clipper.pas给出致命错误“找不到Clipper使用的单位系统”。

编辑:我发现script#(Github),它似乎能够将C#转换为Javascript。 Clipper lib在C#中可用,因此可以使用Script#进行C#-> JS转换,怎么做?

EDIT3:不能用script#转换,但是也有Emscripten,但是4000 cpp行转换为300 000 Javascript行,因此不是一种选择。手动转换似乎是国王。

EDIT2:我制作了an example,它显示了问题。使用左右箭头可应用偏移量。在一定距离内它可以正常工作,但是出了点问题。黄色描边的多边形称为原始偏移多边形,并且AFAIK Clipper lib提供了一种方法,用于删除原始偏移多边形中不需要的部分。

安格斯·约翰逊(Angus Johnson)有一个Clipper库,用于偏移多边形。

我需要Javascript中的此功能来偏移SVG多边形。

有人为它移植了Javascript吗?

如果没有,我将不胜感激一些准则,例如。以下:
-这将是多么艰巨的任务?
-选择哪个源(Delphi,C#,C++)?
-lib中的所有内容都需要抵消吗?

Clipper库产生以下结果,这些结果只是所需的功能:

一些链接:
-Files in Sourceforge
-Clipper Documentation
-One Stackoverflow answer
-Offsetting algorithm

最佳答案

我已经成功将Clipper移植到JS,并且经过一番周密的测试之后,我才成功发布了它。似乎所有功能都已被移植。

一项警告,对128位的支持减少到了106位。

优点之一是可以吸引大量浏览器,并且可以使用svg,vml,html5 canvas作为图形界面。

有什么想法,哪个主机最容易发布,并且具有演示可能性?

编辑:

最终,用Java语言实现了安格斯·约翰逊的Clipper库,并选择了Sourceforge作为宿主。

现场演示:
http://jsclipper.sourceforge.net/6.1.1.1/main_demo.html

资料下载:
https://sourceforge.net/projects/jsclipper/

带有逐步教程的Wikipage:
https://sourceforge.net/p/jsclipper/wiki/Home%206/

演示程序的演示,包括数十个示例多边形:
https://sourceforge.net/p/jsclipper/wiki/Main_Demo%206/

希望这对需要具有折线功能的折线和多边形剪贴库的所有人有所帮助。

09-29 23:14