2016-03-21 111 views
0

你有人试图让svg.js与node.js一起工作吗?我试图使用jsdom模块呈现svg,但jsdom但SVG.supported返回false。有没有办法使这个库与node.js一起工作?有没有办法使svg.js与node.js一起工作

在此先感谢!

编辑:这里是我的代码,我想做出对Node.js的,然后可能呈现SVG的PDF或为png:

var draw = SVG('drawing').size(600, 600) 
var image = draw.image('inclusions.png') 
image.size(400, 150) 
var rect = draw.rect(400, 150).attr({ fill: 'orange' }) 
for (i = 0; i < 10; i++) { 
    var point = draw.circle(5) 
    var xpos = Math.floor((Math.random() * 400) + 1); 
    var ypos = Math.floor((Math.random() * 150) + 1); 
    point.x(xpos) 
    point.y(ypos) 
    point.fill('black') 
} 
image.front() 
+0

你特别想做什么?您是否尝试呈现SVG以便以某种方式将其显示在屏幕上?或者你是否试图将渲染保存到文件中?你能否提供一些代码示例,从头到尾说明你想要做什么? – TheHansinator

+0

将您的代码添加为帖子的修改(点击帖子左下角的修改链接)。 – TheHansinator

+0

您是否只需要执行一次该操作,还是需要根据最终用户的请求自动生成?如何使用图像? – TheHansinator

回答

0

此链接可能会有所帮助:http://techslides.com/save-svg-as-an-image

这是一个客户端解决方案,它可以在最终用户的浏览器上绘制必要的SVG,而不是在服务器上绘制,但它通过将SVG放入图像标记并允许用户提供所需的最终结果下载它。如果将SVG绘图逻辑保密是一个问题,您可以在生成器页面上使用PhantomJS的类似原理,并向用户发送它下载的映像。

+1

我需要使其在服务器端运行。我设法使我的代码在PhantomJS上工作,但它确实需要在Node.js服务器上工作,因为PhantomJS Web服务器不适合生产 – user2005317

+0

是否可以将PhantomJS作为脱机程序下载到服务器上并在其中启动使用'process.start()'节点? (如果你使用Heroku或类似的话,你可能不会)。 – TheHansinator

+0

我也使用Node.js中的PhantomJS工作,但它不是一个最佳解决方案,因为PhantomJS每次请求都会启动浏览器的新实例 – user2005317

相关问题