0

我有一个关于 Draw2D.js 的问题。我正在使用 JQuery-ui 调整画布的大小,但是当我调整画布的大小时,我必须销毁它并创建一个新的……否则我会有很多画布重叠。如果我打电话canvas.destroy()没有任何效果(如文档中所述)。

有什么方法可以对画布进行软破坏?JQuery-ui 中是否有任何调整大小的功能?

谢谢@MacGyver,我在第二个命题中找到了解决方案。我们必须编辑 SVG DOM :)

我在这里分享我的解决方案jsfiddle!它可能会有所帮助!

4

1 回答 1

0

您应该能够通过手动设置宽度和高度来动态更改画布的 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
于 2014-09-04T16:15:13.373 回答