2016-03-30 6 views
0

Ich habe object.lockScaling = true zugewiesen, wenn es auf bestimmte Breite erreichen und dann Skalierungsfunktion deaktiviert. Allerdings muss ich die Breite vergrößern, aber nicht über die spezifische Breite hinaus abnehmen. Wie geht das? Hier ist mein Code.wie man lockScaling fabricJS entfernen?

if(obj.getHeight() > obj.canvas.height || obj.getWidth() > obj.canvas.width){ 
       obj.lockScalingX=true 
     } 

Antwort

0

Wir haben ein scaling Ereignis in fabricjs so können wir das verwenden für this.You einige Sache wie diese wollen ..

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

 
var rect = new fabric.Rect({ 
 
    width:100, 
 
    height:100 
 
    }) 
 
canvas.add(rect) 
 

 
canvas.on('object:scaling', function(options) { 
 
    console.log(rect.getWidth()); 
 
    if(rect.getWidth() > canvas.getWidth() || rect.getHeight() > canvas.getHeight()) 
 
    { 
 
     
 
     rect.lockScalingX=true 
 
    } 
 

 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.min.js"></script> 
 

 
<canvas id="c" width="300" height="200"></canvas>

+0

eigentlich will ich lockScalingX entfernen zu erhöhen eine Breite. – isuru

+0

@isuru, wenn du entfernen willst ... zu dieser Zeit passiert dort etwas richtig ... –