Javascript 噢,啪!尝试使用Fabric JS在移动设备中加载大画布时的屏幕
我正在尝试从JSON数据加载一个大画布,其中包含一个背景图像。在桌面上,它正在正确加载。但在移动设备上,浏览器崩溃了 HTML代码:Javascript 噢,啪!尝试使用Fabric JS在移动设备中加载大画布时的屏幕,javascript,angular,canvas,fabricjs,Javascript,Angular,Canvas,Fabricjs,我正在尝试从JSON数据加载一个大画布,其中包含一个背景图像。在桌面上,它正在正确加载。但在移动设备上,浏览器崩溃了 HTML代码: <canvas id="myCanvas" width="600" height="600"></canvas> 使用上述代码,画布在桌面浏览器中正确加载,但在移动浏览器上崩溃。 我注意到的一件事是,如果画布的宽度和高度都很小,比如300 x 300,那么它就可以在移动浏览器中正
<canvas id="myCanvas" width="600" height="600"></canvas>
使用上述代码,画布在桌面浏览器中正确加载,但在移动浏览器上崩溃。
我注意到的一件事是,如果画布的宽度和高度都很小,比如300 x 300,那么它就可以在移动浏览器中正确加载。如何在移动浏览器中加载大型画布
提前谢谢
// Calculate ratio of the canvas as per height and width
prepareCanvas(width, height) { // height = 3300, width = 2550
let ratioHeight: any = Math.ceil((height / width) * 600);
this.canvas = new fabric.Canvas("myCanvas", {
backgroundColor: "#ffffff",
selection: false,
width: width <= 600 ? width : 600,
height: width <= 600 ? height : ratioHeight
});
this.canvas.setDimensions(
{ width: width, height: height },
{ backstoreOnly: true }
);
}
loadTemplateFromData(canvasData: any) {
this.canvas.loadFromJSON(
canvasData,
this.canvas.renderAll.bind(this.canvas),
(o, object) => {
object.set("selectable", false);
}
);
}