2
我目前正在使用我的項目運行,並且使用布料js來處理畫布。在那我想我的畫布對象不走出畫布邊界。我做了this code,它工作正常,直到我旋轉它。但是當我旋轉對象時,該對象的左上角逐漸變大,而且我的代碼運行不正常。我想要一些解決方案,可以在任何情況下工作,但我的對象不應該超出畫布邊界。 感謝將對象限制到畫布邊界時出現問題
var canvas=new fabric.Canvas('demo');
canvas.on('object:moving',function(e){
if(e.target.getWidth()+e.target.left>canvas.width)
{
e.target.set('left',canvas.width-e.target.getWidth());
e.target.setCoords();
canvas.renderAll();
}
if(e.target.getHeight()+e.target.top>canvas.height)
{
e.target.set('top',canvas.height-e.target.getHeight());
e.target.setCoords();
canvas.renderAll();
}
if(e.target.top<0)
{
e.target.set('top',0);
e.target.setCoords();
canvas.renderAll();
}
if(e.target.left<0)
{
e.target.set('left',0);
e.target.setCoords();
canvas.renderAll();
}
});
var text=new fabric.IText('Jayesh');
canvas.add(text);
<script src="http://fabricjs.com/lib/fabric.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<canvas id="demo" style="width:100px;height:100px;border: 1px solid black"></canvas>
做一件事在你的榜樣, 1)縮放對象到畫布寬度 2)旋轉對象,以40度 你可以看到,對象是走出去的畫布boudary – Innodel 2014-10-31 04:26:16
的@Innodel你需要決定你想在這種情況下做什麼。例如,將您的對象設置爲與畫布高度和寬度相同的正方形。它適合。當你旋轉它時,你可以強制它縮小到適合畫布邊界,但在畫布內的任何位置移動它都是不可能的。 – 2014-11-04 00:24:49