我用
创建一个画布var paper = Raphael(domid);
...
paper.height = 600;
paper.width = 600;
绘制路径后,它的一部分是不可见的(因为它超出了画布的边缘)。但是如果我做的话
var paper = Raphael(domid, 600, 600);
一切都好。第二段和第一段代码之间的本质区别是什么?
答案 0 :(得分:2)
Rapheal在Paper对象上没有width
和height
的setter,所以调用它们不会影响DOM,只是在Paper对象上设置了一些属性。
传递构造函数中的width
和height
参数会影响DOM中的SVG标记。
如果要在构造后更改纸张的宽度和高度,可以像这样设置SVG标签的样式属性:
var paper = Raphael(domid);
paper.canvas.style.width = '200px';
paper.canvas.style.height = '100px';
正如Kevin所说,使用setSize
方法处理运行时调整大小可能会更好。
例如)
paper.setSize(200,100)
希望有所帮助。
答案 1 :(得分:0)
可能还有另一种解决方案:var paper = Raphael(domid, '100%', '100%');
。