2
我有一個FabricJS的畫布,我要在以下方式工作:如何實現移動FabricJS畫布的視口?
- 用戶放大
- 然後,用戶通過按壓左移動視窗(可視區域),右,上,向下按鈕。
每個按鈕的調用moveViewPort
方法:
<button
type="button"
onclick="moveViewPort(-1, 0);"
class="btn btn-default">
<span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span>
</button>
<button
type="button"
onclick="moveViewPort(1, 0);"
class="btn btn-default">
<span class="glyphicon glyphicon-arrow-right" aria-hidden="true"></span>
</button>
<button
type="button"
onclick="moveViewPort(0, -1);"
class="btn btn-default">
<span class="glyphicon glyphicon-arrow-up" aria-hidden="true"></span>
</button>
<button
type="button"
onclick="moveViewPort(0, 1);"
class="btn btn-default">
<span class="glyphicon glyphicon-arrow-down" aria-hidden="true"></span>
</button>
moveViewPort
被定義爲
function moveViewPort(deltax, deltay) {
var canvas = window._canvas;
canvas.absolutePan({
x: canvas.width/2 + deltax,
y: canvas.height/2 + deltay});
}
canvas
在HTML頁面中被初始化:
<script>
var canvas = window._canvas = new fabric.Canvas('canvas');
var rect = new fabric.Rect({
top : 100,
left : 100,
width : 60,
height : 70,
fill : 'red'
});
canvas.add(rect);
canvas.isDrawingMode = false;
[...]
</script>
- 運動不起作用(視口,你不能移動到右邊一路只移動一次)的權利,
- 相同:但是像預期的那樣顯示在此video這是行不通的隨着運動到頂部和底部。
什麼是移動FabricJS畫布視口的正確方法?