栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SVG到PNG服务器端-使用node.js

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SVG到PNG服务器端-使用node.js

如果您排除“使用node.js”的规定,这可能是对您的问题的有用答案。如果它没有帮助您,也许以后的访客会发现它很有趣。

我已经工作了一段时间解决了同样的问题(服务器端d3栅格化),并且我发现PhantomJS是最好的解决方案。

server.js:

var page = require('webpage').create(),    renderElement = require('./renderElement.js'),    Routes = require('./Routes.js'),    app = new Routes();page.viewportSize = {width: 1000, height: 1000};page.open('./d3shell.html');app.post('/', function(req, res) {    page.evaluate(new Function(req.post.d3));    var pic = renderElement(page, '#Viewport');    res.send(pic);});app.listen(8000);console.log('Listening on port 8000.');

Routes.js:https
://gist.github.com/3061477
renderElement.js:https://gist.github.com/3176500

d3shell.html应该看起来像:

<!DOCTYPE HTML><html><head>    <title>Shell</title></head><body>    <div id="Viewport" ></div>    <script src="http://cdnjs.cloudflare.com/ajax/libs/d3/2.8.1/d3.v2.min.js" type="text/javascript"></script></body></html>

然后,您可以使用

phantomjs server.js
POST d3 =
[d3渲染为#Viewport的代码]启动服务器,服务器将以base64编码的png进行响应。

(需要PhantomJS 1.7或更高版本。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436589.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号