2012-09-12 201 views

回答

0

使用圖像縮放屬性而不是圖像大小。這對我有效。當我設置圖像的寬度和高度而不是比例時,當我應用濾鏡時,它會重置爲原始寬度和高度,因爲比例爲1.0。希望這可以幫助。

5

我們可以使用scalex/scaley來設置高度/寬度如下。

fabric.util.loadImage(imgsrc, function (img) { 
    var legimg = new fabric.Image(img, { 
     left: 30, 
     top: marker.top, 
     scaleX: 20/img.width, 
     scaleY: 20/img.height 
    }); 
    canvas.add(legimg); 
    canvas.renderAll(); 
}); 

感謝

+0

什麼是你的畫布變量? – IsmailS

+0

明白了。它基本上是面料畫布'新fabric.Canvas('idOfCanvasElement');' – IsmailS

1

var canvas = new fabric.Canvas('canvas'); 
 
document.getElementById('file').addEventListener("change", function (e) { 
 
    var file = e.target.files[0]; 
 
    var reader = new FileReader(); 
 
    reader.onload = function (f) { 
 
    var data = f.target.result;      
 
    fabric.Image.fromURL(data, function (img) { 
 
     var oImg = img.set({left: 0, top: 0, angle: 00,width:100, height:100}).scale(0.9); 
 
     canvas.add(oImg).renderAll(); 
 
     var a = canvas.setActiveObject(oImg); 
 
     var dataURL = canvas.toDataURL({format: 'png', quality: 0.8}); 
 
    }); 
 
    }; 
 
    reader.readAsDataURL(file); 
 
});
canvas{ 
 
    border: 1px solid black; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.min.js"></script> 
 
<input type="file" id="file"><br /> 
 
<canvas id="canvas" width="450" height="450"></canvas>

我們可以設置寬度和高度。

入住此的jsfiddle:https://jsfiddle.net/varunPes/8gt6d7op/5/

5

希望這將有助於

var src; //Image source here 
fabric.Image.fromURL(src, function(oImg) { 
    oImg.scaleToWidth(50); 
    oImg.scaleToHeight(50); 
}); 
+1

是不是有一種方法來使用set方法來設置一個對象的屬性(Image incase of here) 對我來說@解決方案@ user2148228工作設置任何其他屬性如角度,寬度,高度鱗片等 –

相關問題