布尔矩形到多边形

时间:2011-03-25 19:31:19

标签: javascript graphics

我正在构建一些我需要绘制多个矩形的东西,要么添加它们要么减去它们,然后从中生成一个或多个代表整个区域的多边形。这可以像你在绘画程序等中看到的那样,你可以通过绘制矩形并单击+或 - 按钮来确定是否在当前所选区域中添加或减去来创建选择。

我可以完成所有绘图代码,但需要知道如何转换有序的矩形系列,每个矩形的模式为"添加"或者"减去"到一个或多个多边形。以下是我设想它的使用方式:

var rectList = [
 {x: 50, y: 40, w: 20, h: 30, mode: "+"},
 {x: 24, y: 12, w: 14, h: 62, mode: "+"},
 {x: 12, y: 30, w: 34, h: 14, mode: "-"},
 {x: 22, y: 21, w: 45, h: 19, mode: "+"},
 {x: 17, y: 20, w: 10, h: 21, mode: "+"}
 ];

var polygonList =  getPolygonsFromRectangleList (rectList);

polygonList可能看起来像这样(点数组的数组)。 (下面的数字只是组成,与上面的输入无关)

[
 [
  {x: 23, y: 12},
  {x: 14, y: 12},
  {x: 14, y: 36},
  {x: 24, y: 36},
  ....
 ],
 [
  {x: 32, y: 45},
  {x: 32, y: 22},
  {x: 14, y: 22},
  ... 
 ]

我认为这必须是一个非常标准的图形宝石。

0 个答案:

没有答案