FabricJS - 非占用空间中多边形的选择

时间:2015-03-21 16:19:27

标签: fabricjs

JSFiddle显示两种形状;圆形和菱形(已绘制为多边形):

var canvas = new fabric.Canvas('c');

canvas.add( new fabric.Circle({ 
        top: 10,  left: 10,
        radius: 15,
        fill: 'orange'
    }));


canvas.add( new fabric.Polygon(
        [
            {x: 50, y: 0},
            {x: 100, y: 100},
            {x: 50, y: 200},
            {x: 0, y: 100}
        ],{ 
        fill: 'red',
        hasBorders: false, hasControls: false, hasRotatingPoint: false, lockMovementX: true, lockMovementY: true,
    }));

我遇到钻石边界框的问题,导致用户无法选择圆圈。我希望用户能够通过点击从钻石后面可见的部分来选择圆圈。

有没有办法通知布料我只希望多边形的边界区域是受填充颜色影响的区域?即所以可以点击圆圈?

请注意,这是我的用例的过度简化示例。我的真实多边形比简单的钻石更复杂,因此不可能使用旋转的矩形。

1 个答案:

答案 0 :(得分:1)

这个问题既古老又容易,但没有答案。

我把它留在这里。

你需要

perPixelTargetFind: true

JsFiddle