fabricjs多边形冗余区域



2https://i.stack.imgur.com/2aZm2.png

1https://codepen.io/1gelistirici/pen/KKRjgoj[在此输入图像描述]

// Initiate a Canvas instance
var canvas = new fabric.Canvas("canvas");

// Initiate a polygon instance
var polygon = new fabric.Polygon([
{ x: 200, y: 10 },
{ x: 250, y: 50 },
{ x: 250, y: 180},
{ x: 150, y: 180},
{ x: 150, y: 50 }], {
fill: 'green'
});

// Render the polygon in canvas
canvas.add(polygon);

嗨,我在fabricjs中创建了一个多边形。然后我检查你的交集。当另一个对象到达非多边形但被fabricjs定义为多边形时,会检测到它命中。我该怎么做?你能帮我吗?

使用object.contentsPoint((检查交点。您可以将点定义为与移动对象坐标相关的任何位置。

var targetPoint = new fabric.Point(moveEventTarget.left, moveEventTarget.top);
// detect if move event target intersects with another object
if (intersectionObject.containsPoint(targetPoint)) {
if (!canvas.isTargetTransparent(intersectionObject, targetPoint.x, targetPoint.y)) {
// do something
};
};

最新更新