2015-03-19 17 views
1

我有500x500的大畫布,圖片(最初500x500)縮小到300x200。它工作正常,但我想減少畫布,以便只顯示原始圖像的中心部分。這可能嗎?如何使用fabric.js庫減少畫布以僅顯示圖像的中心部分?

當前的代碼。

var canvas = new fabric.Canvas("myCanvas"); 
var img = new Image(); 
img.onload=function(){ 
    var image = new fabric.Image(img,{name:"mainImage"}); 
    image.set({ 
     left:100, 
     top: 100, 
     angle: 0, 
     padding:10, 
     height:200, 
     width:300, 
     cornersize:10 
    }); 
} 
img.src = imageUrl; 
canvas.add(image); 
canvas.renderAll(); 

在此先感謝。

+0

檢查這些功能:http://fabricjs.com/docs/fabric.StaticCanvas.html#centerObject http://fabricjs.com/docs/fabric.StaticCanvas.html#centerObjectH http://fabricjs.com /docs/fabric.StaticCanvas.html#centerObjectV – ptCoder 2015-03-19 12:00:16

+0

ptCoder你的鏈接建議工作的對象的位置,但需要顯示中心部分對象內部的圖像(300 x 200)我的原始圖像尺寸是原始大小:500 x 500.我想從中心部分的原始圖像到300 x 200分辨率。 – 2015-03-20 04:34:22

回答

2

是的,你可以用canvas.centerObject()函數居中你的圖像。

例子:

var canvas = new fabric.Canvas('myCanvas'); 

var src = "http://fabricjs.com/lib/pug.jpg"; 

fabric.Image.fromURL(src, function(oImg) { 
    oImg.set({ 
     width: 300, 
     height: 200, 
    }); 
    canvas.add(oImg); 
    canvas.centerObject(oImg); 
    canvas.renderAll(); 
}); 

檢查此琴:http://jsfiddle.net/ckqk2Lzs/8/

我希望這幫助。

+0

謝謝重播,但我需要顯示圖像的中心部分,因爲我的圖像尺寸在500像素X 500像素,我需要設置在300像素X 200像素。 – 2015-03-20 04:09:40

+0

你需要裁剪你的圖像? – ptCoder 2015-03-20 10:45:03

+0

是的,但其他圖像部分不從對象中刪除只是隱藏維護更好的分辨率。此應用程序在調整大小功能期間使用這種類型http://www.photocollage.net/collage/ – 2015-03-21 04:42:47

相關問題