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

Posted

技术标签:

【中文标题】面料JS |滚动或拖动任何对象时显示不需要的线条【英文标题】:Fabric JS | Shows unwanted lines when scroll or drag any object 【发布时间】:2021-05-25 17:48:46 【问题描述】:

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

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

代码笔中提供了示例数据

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

codepen link [

【问题讨论】:

【参考方案1】:

从 json 加载数据后,您必须更改画布大小。您已将 100 像素添加到画布大小,但 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()
   

【讨论】:

【参考方案2】:
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()
  

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

【讨论】:

以上是关于面料JS |滚动或拖动任何对象时显示不需要的线条的主要内容,如果未能解决你的问题,请参考以下文章

UITableviewCell在ios中滚动时显示不正确

自定义 tableViewCell 滚动时显示不正确

在 R 中使用 geom_line 时显示不正确

关闭模式时显示不需要的内容

Android:向上滚动时显示工具栏(向上拖动),向下滚动时隐藏(向下拖动)

Java FileInputStream.read() 打印时显示不需要的字符