Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在fabric js中不同大小的画布中显示相同位置的对象_Javascript_Angular_Canvas_Fabricjs - Fatal编程技术网

Javascript 在fabric js中不同大小的画布中显示相同位置的对象

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)))。如果我使用相同宽度和高度的画布,它会完美地显示出来。但由于画布的宽度和高度不同,对象没有显示在适当的位置,有时对象会被

我在管理面板中使用动态大小的fabric JS创建画布,并向其中添加对象,修改画布后,我将JSON数据存储到数据库中(使用:
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});