面料JS |滚动或拖动任何对象时显示不需要的线条

问题描述

我正在从 JSON 加载数据。 无法弄清楚为什么每当我尝试滚动或拖动任何对象时画布上都会显示不需要的线条。

此问题仅在从 JSON 加载时发生。 codepen link

代码笔中提供了示例数据

canvas.loadFromJSON(JsonData,canvas.renderAll.bind(canvas));
canvas.renderAll()

codepen link [

Screen Shot2

解决方法

从 json 加载数据后,您必须更改画布大小。您已将 100px 添加到画布大小,但 json 数据中的视口大小较小,这会导致在渲染中不会更新的“死区”。

function initJsonData(JsonData){
  var size = Math.max(JsonData.width,JsonData.height) + 100;
  canvas.loadFromJSON(JsonData,canvas.renderAll.bind(canvas));
  canvas.setWidth(size);
  canvas.setHeight(size);   
  canvas.renderAll()
}   
,
function initJsonData(JsonData){
  var size = Math.max(JsonData.width,JsonData.height) + 100;
  var tempJsonData = JsonData
  delete tempJsonData .height
  delete tempJsonData .width
  canvas.loadFromJSON(tempJsonData,canvas.renderAll.bind(canvas));
  canvas.renderAll()
}  

宽度和高度键造成了问题。这解决了问题