是否可以更改Raphael JS(或SVG)坐标系?

时间:2011-11-13 22:40:45

标签: svg raphael vml

我正在玩RaphaelJS库,我注意到它非常像素化。我想画一些与视口一起缩放的东西。是否可以将画布坐标系重新定义为从0到1运行,因此如果我绘制一个以[0.5,0.5]为中心的圆,即使容器的大小发生变化,它仍保留在容器的中间位置?

这可能更像是一个SVG / VML问题,因为即使Raphael无法做到这一点,我总是可以直接访问底层的svg元素。

1 个答案:

答案 0 :(得分:2)

我不知道这是否是最佳答案,但我找到了一种方法来获得我想要的东西。如果忽略宽度/高度参数,或使用“100%”,则可以使用setViewBox命令设置自己的坐标系。

var canvas = Raphael("container");
canvas.setViewBox(0, 0, 1, 1, true);

问题当然是这会缩放所有内容,包括笔画,背景等。这使得很难有像1px以外的笔画宽度。