这个问题属于fabricJS和canvas,当我将一个对象拖到画布上时,我需要检测中心线并捕捉到它。我在this question中发现了一些类似的方法。但它涉及div元素。我需要处理画布的中心线。我该怎么做?

最佳答案

您可以使用moving选项手动定义捕捉功能。试着跟随。

    'object:moving' : function(e){
    var objCenter = e.target.getLeft() + (e.target.getWidth()/2);


    var targetLine = canvas.left+(canvas.width/2);


    if(objCenter > targetLine-10 && objCenter < targetLine+10){

        e.target.left = targetLine - (e.target.getWidth()/2) ;
    }else{
        e.target.setOpacity(1);
    }

`

09-25 18:40