Fabric js fit обект в левия и десния център на платното

Тук се опитвам да настроя обект в центъра на платното. Командата Fit center работи добре. Имам проблем с командата Fit center. вижте моментната снимка по-долу за командата за прилягане в центъра. Когато мащабирам текста в по-голям размер и го поставя в центъра, той работи добре.

Демо връзка:- Щракнете тук

Побиране в центъра

Но когато мащабирам същия обект и изпълня командата Fit To left center, можете да видите тук, че обектът излиза извън централния оригон y на мрежата.

Побиране в центъра отляво

И когато задам текст по подразбиране (без мащаб) и изпълня командата Fit To left center, работи добре като снимката по-долу.

Побиране в центъра наляво без мащаб

По-долу е моят примерен код за поставяне на обект в центъра вляво на платното

$("#fitleft").click(function() {
            $("#fitleft").css('display','none');
   $("#fitright").css('display','block');   

   var obj = canvas.getActiveObject();



    obj.set( {
              left: 315.4000015258789,
             // top: Top
             top: obj.get('top')  
               });        

            obj.setCoords();
                      canvas.renderAll();



   });

person Sanjay Nakate    schedule 02.05.2014    source източник


Отговори (1)


Направих отговора за това

Демо връзка:- Щракнете тук

document.getElementById('fticenter').addEventListener('click', function (e) {
   var obj = canvas.getActiveObject();
     obj.center();

     obj.setCoords();


     canvas.renderAll();


});

document.getElementById('fittoleftcenter').addEventListener('click', function (e) {




    var obj = canvas.getActiveObject();

           var leftcenter=    canvas.width/2
        var halfleft = obj.currentWidth /2; 


       obj.set("left", leftcenter - halfleft);
       obj.set("top", obj.get('top'));   

            obj.setCoords();
                      canvas.renderAll();



   });


document.getElementById('fittorightcenter').addEventListener('click', function (e) {




    var obj = canvas.getActiveObject();
    var rightcenter=    canvas.width/2
        var halfright = obj.currentWidth /2; 
      obj.set("left", rightcenter - halfright);
       obj.set("top", obj.get('top'));    

            obj.setCoords();
                      canvas.renderAll();



   });
person Sanjay Nakate    schedule 02.05.2014