node.js - 有没有办法让 svg.js 与 node.js 一起工作

标签 node.js jsdom svg.js

你们中有人尝试过让 svg.js 与 node.js 一起工作吗?我尝试使用 jsdom 模块渲染 svg 但 jsdom but SVG.supported 返回 false。有没有办法让这个库与node.js一起工作?

提前致谢!

编辑:这是我的代码,我想在 Node.js 上制作它,然后可能以 pdf 或 png 形式呈现 SVG:

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()

最佳答案

这是 Nodejs 项目中 svg.js 的工作示例用法, svgdom是来自 svg.js official website 的建议库

const window = require('svgdom');
const SVG = require('svg.js')(window);
const document = window.document;

function generateSVGTextLines(width, height, lineList, tAsset) {
  var draw = SVG(document.documentElement).size(width, height);
  draw.clear();

  draw.text(function (add) {
    if (lineList) {
        for (var i = 0; i < lineList.length; i++) {
            add.tspan(lineList[i].text).attr("x", "50%").newLine();
        }
    }
  }).font({
    family: tAsset.fontFamily,
    size: tAsset.fontHeight,
    leading: '1.2em',
    anchor: "middle"
   }).move(width / 2, 0);

   return draw.svg();
}

关于node.js - 有没有办法让 svg.js 与 node.js 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36133657/

相关文章:

node.js - NodeJS `net` 模块在 Windows 上运行缓慢 ECONNREFUSED

javascript - 如何将全栈应用程序部署到heroku或netlify?哪些文件是必需的?

javascript - 在jsdom加载的脚本中设置全局变量

node.js - npm install <module> 持续错误? ( Node gyp 构建?)

javascript - 如何通过 javascript(svg.js) 将文本附加到 svg 路径

html - 如何剪辑 SVG 图?

javascript - 如何在node js中使用条件cors在本地运行

javascript - 使用nodejs和socket io在flash中保存png图像

reactjs - React Mocha渲染,DOMException错误文档

javascript - svg.js:水平偏移换行符 tspans 以创建交错外观