以编程方式调整paper.js画布大小:未正确地重绘超出原始大小的画布部分

时间:2015-08-08 14:32:40

标签: paperjs

示例:https://jsfiddle.net/gnxdkqgh/5/

  1. 点击x0.5 - 一切正常,
  2. 尝试点击x2 - 超出原始矩形的部分画布未正确重绘
  3. 尝试快速连续点击x2 - 您可以看到它绘制动画虚线,但未能"清除"画布。它只是绘制现有的破折号,从而形成实线。
  4. 这是Paper.js中的错误还是我做错了什么?

    我使用的是最新的Chrome。如果您无法重现问题,请点击此处截图:

    paper.js canvas resizing bug

1 个答案:

答案 0 :(得分:3)

问题在于,您不必让纸张知道您所做的事情就改变了画布的大小。不要在调整大小函数中设置画布大小,而是设置paper.view.viewSize,这也将重置画布大小。

在resize函数中替换 canvas.width = w; canvas.height = h; paper.view.viewSize.width = w; paper.view.viewSize.height = h;

这将导致纸张更改视图大小和基础画布大小 - 请参阅that's what it's designed to do