2016-03-21 88 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

相關問題