javascript - 在 Fabric js 中加载 Canvas 后如何更改 Canvas 宽度高度

标签 javascript html fabricjs

我想在加载后更改 Canvas 的宽度和高度。这可以吗?我想通过单击按钮或在页面加载中来完成。我有两个动态变量宽度和高度。

(function() {
    var canvas = this.__canvas = new fabric.Canvas('canvas');
  
    // create a rectangle with a fill and a different color stroke
    var rect = new fabric.Rect({
       left: 50,
       top: 50,
       width: 50,
       height: 50,
       fill: 'rgba(255,127,39,1)',
       stroke: 'rgba(34,177,76,1)',
       strokeWidth: 5
    });
    canvas.add(rect);
    canvas.renderAll();    
})();

function(){
  var c_width = 500px;
  var c_height= 600px;

}
<canvas id="canvas" width="300" height="300"></canvas>
<button onclick="function()">change canvas </button>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>

<script src='https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.6/fabric.min.js'></script>

最佳答案

使用canvas.setDimensions设置 Canvas 的宽度/高度。

演示

var canvas = this.__canvas = new fabric.Canvas('canvas');

// create a rectangle with a fill and a different color stroke
var rect = new fabric.Rect({
   left: 50,
   top: 50,
   width: 50,
   height: 50,
   fill: 'rgba(255,127,39,1)',
   stroke: 'rgba(34,177,76,1)',
   strokeWidth: 5
});
canvas.add(rect);
canvas.renderAll();

function resizeCanvas(){
  canvas.setDimensions({
   width:500,
   height:600
  });
}
canvas{
  border:2px solid #000;
}
<canvas id="canvas" width="300" height="300"></canvas>
<button onclick="resizeCanvas()">change canvas </button>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>

<script src='https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.6/fabric.min.js'></script>

关于javascript - 在 Fabric js 中加载 Canvas 后如何更改 Canvas 宽度高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51349370/

相关文章:

javascript - 是否可以仅使用 HTML5 和 javascript 创建 Google Cast Sender 应用程序?

javascript - 向函数添加多个语句

javascript - document.innerHTML 在 'DOMNodeInserted' 事件捕获函数中未定义

javascript - 根据单击的 img 显示/隐藏 div 无需对 ID 进行硬编码

javascript - 如何使用 Fabricjs 自由绘制椭圆?

javascript - Fabric js 图像过滤器加载问题

javascript - 防止浏览器弹出窗口警告

javascript - 未定义“路由”react/jsx-no-undef

javascript - 如何在fabric js堆栈中的图像顶部添加文本?

javascript - 随机淡入匹配集合的每个元素?