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,
    }));

Имам проблеми с ограничителната кутия на диаманта, която пречи на потребителя да избере кръга. Бих искал потребителят да може да избере кръга, като щракне върху частта от него, която се вижда зад диаманта.

Има ли начин да информирам тъканта, че искам само ограничаващата област на многоъгълник да бъде зоната, която е засегната от цвета на запълването? т.е. така че би било възможно да щракнете върху кръга?

Имайте предвид, че това е прекалено опростен пример за моя случай на употреба. Моят многоъгълник в реалния живот е по-сложен от обикновен диамант, така че не би било възможно вместо това да използвам завъртян правоъгълник.


person jwa    schedule 21.03.2015    source източник


Отговори (1)


Този въпрос е доста стар и лесен, но няма отговор.

Просто го оставям тук.

имате нужда

perPixelTargetFind: true

JsFiddle

person Sahal Saad    schedule 29.09.2015
comment
Справка на документ: http://fabricjs.com/docs/fabric.Polygon.html#perPixelTargetFind - person jmq; 18.03.2016