Javascript 在fabric js中不同大小的画布中显示相同位置的对象
我在管理面板中使用动态大小的fabric JS创建画布,并向其中添加对象,修改画布后,我将JSON数据存储到数据库中(使用:Javascript 在fabric js中不同大小的画布中显示相同位置的对象,javascript,angular,canvas,fabricjs,Javascript,Angular,Canvas,Fabricjs,我在管理面板中使用动态大小的fabric JS创建画布,并向其中添加对象,修改画布后,我将JSON数据存储到数据库中(使用:canvas.toJSON())。 现在,我在前端显示了一个画布,用于使用存储在数据库中的JSON数据进行编辑(canvas.loadFromJSON(canvasData,this.canvas.renderAll.bind(this.canvas)))。如果我使用相同宽度和高度的画布,它会完美地显示出来。但由于画布的宽度和高度不同,对象没有显示在适当的位置,有时对象会被
canvas.toJSON()
)。
现在,我在前端显示了一个画布,用于使用存储在数据库中的JSON数据进行编辑(canvas.loadFromJSON(canvasData,this.canvas.renderAll.bind(this.canvas))
)。如果我使用相同宽度和高度的画布,它会完美地显示出来。但由于画布的宽度和高度不同,对象没有显示在适当的位置,有时对象会被切碎
例如,我在管理中创建了一个画布,其中包含1200*1000px
,现在我想将画布数据加载到800*500px
画布窗口中,对象位于同一位置。如果原始画布更大,那么我仍然需要将整个画布数据放入前端,因此我需要将画布加载到更小的画布窗口中
我跟着
使用上述代码时,如果原始模板大小较大,则3000*2000px
,并将其放入600*600px
窗口中
画布中显示的文本非常小,无法读取,但从画布生成图像时,它会正确显示。
看到图片了吗
我怎样才能解决这个问题?提前感谢您找到解决方案了吗?
var canvas = new fabric.Canvas('c', {width: 640, height: 360});
canvas.setDimensions({width: 1280, height: 720}, {backstoreOnly: true});