Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.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,我正在尝试从JSON数据加载一个大画布,其中包含一个背景图像。在桌面上,它正在正确加载。但在移动设备上,浏览器崩溃了 HTML代码: <canvas id="myCanvas" width="600" height="600"></canvas> 使用上述代码,画布在桌面浏览器中正确加载,但在移动浏览器上崩溃。 我注意到的一件事是,如果画布的宽度和高度都很小,比如300 x 300,那么它就可以在移动浏览器中正

我正在尝试从JSON数据加载一个大画布,其中包含一个背景图像。在桌面上,它正在正确加载。但在移动设备上,浏览器崩溃了

HTML代码:

<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);
      }
    );
  }