我已经尝试在SO上使用当前最常见的问题:Scaling multiple paths with raphael
...没有多大的运气。我正在通过拉斐尔(Raphael)绘制美国 map ,虽然 map 非常漂亮,但我需要它的大小可能是当前的30%。
我能够将初始Raphael Canvas 上的attr更改为“.5”,但这仅调整了每个单独路径的大小,而不是整个 Canvas 的大小。我也尝试过使用javascript来缩放包含 Canvas 的div,但无济于事。
路径:实际页面:
http://praxxgray.com/am/rafe2/mapTest.html
javascript:
http://praxxgray.com/am/rafe2/js/initMap.js
我是Raphael的新手,但老板让我喘不过气来使其正常工作。拉斐尔 map 下方的图像显示了我想要的尺寸。我感觉自己接近了,也许我正在调用错误的对象以进行调整大小?
帮我欧比万!
谢谢!
最佳答案
不知道这是否有帮助,而且有点袖手旁观,但是您是否尝试过将 map 粘贴在其自己的raphael实例中,然后使用Paper.setViewBox(...)调整其大小?
var map = Raphael(100,100,800,500);
//
// draw my very big map, bigger than 800x500
//
map.setViewBox(100,100,800,500,true);
// doesn't change the size of the raphael instance, but will force the graphics to fit
// inside it.
setViewBox允许您更改视口(viewport)。从链接-“设置纸张的 View 框。实际上,它使您能够通过指定新的边界来缩放和平移整个纸张表面”。
这可能是获得所需东西的快速方法。它只有拉斐尔2 :(
(这应该可以,但是我还没有实际测试过。正如我所说,这有点袖手旁观...)