我有一个关于 Draw2D.js 的问题。我正在使用 JQuery-ui 调整画布的大小,但是当我调整画布的大小时,我必须销毁它并创建一个新的……否则我会有很多画布重叠。如果我打电话canvas.destroy()
没有任何效果(如文档中所述)。
有什么方法可以对画布进行软破坏?JQuery-ui 中是否有任何调整大小的功能?
谢谢@MacGyver,我在第二个命题中找到了解决方案。我们必须编辑 SVG DOM :)
我在这里分享我的解决方案jsfiddle!它可能会有所帮助!
我有一个关于 Draw2D.js 的问题。我正在使用 JQuery-ui 调整画布的大小,但是当我调整画布的大小时,我必须销毁它并创建一个新的……否则我会有很多画布重叠。如果我打电话canvas.destroy()
没有任何效果(如文档中所述)。
有什么方法可以对画布进行软破坏?JQuery-ui 中是否有任何调整大小的功能?
谢谢@MacGyver,我在第二个命题中找到了解决方案。我们必须编辑 SVG DOM :)
我在这里分享我的解决方案jsfiddle!它可能会有所帮助!
您应该能够通过手动设置宽度和高度来动态更改画布的 DOM 节点。在这里,我们有 2500px 的宽度和 2500px 的高度。
<div onselectstart="javascript:/*IE8 hack*/return false" id="draw2d" style="width:2500px; height:2500px;-webkit-tap-highlight-color: rgba(0,0,0,0);"></div>
canvas.setScrollArea("draw2d");
或者使用 JavaScript 动态更改 DIV 标记的宽度和高度。
另一种选择是动态设置缩放:
canvas.setZoom(1); // default 1x (1:1 zoom)
canvas.setZoom(.5); // .5x (1:2 zoom)
canvas.setZoom(2); // 2x (2:1 zoom)
然后调用app.layout()
函数
参考:
http://draw2d.org/draw2d_touch/jsdoc/#!/api/draw2d.Canvas