首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >夏普的overlayWith()函数的Node.JS - SVG到图像缓冲区?

夏普的overlayWith()函数的Node.JS - SVG到图像缓冲区?
EN

Stack Overflow用户
提问于 2018-06-03 00:40:17
回答 2查看 4.7K关注 0票数 1

我在Node.JS中使用Sharp NPM库,并尝试在画布中添加文本。我发现here需要使用.overlayWith(),以及另一个可以将文本转换为SVG的库。A comment there建议使用text-to-svgvectorize-text,但这两种方法和text2svg都会返回一个SVG。夏普的.overlayWith()函数需要一个图像缓冲区。如何将这些库返回的SVG转换为Sharp的图像缓冲区?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-03 02:53:30

找到了解决方案: NPM模块SVG2IMG获取SVG字符串并将其转换为图像缓冲区。

票数 0
EN

Stack Overflow用户

发布于 2018-06-07 22:23:19

也许您可以尝试通过svg.js构建您所有svg上下文,

代码语言:javascript
复制
var draw = SVG(document.documentElement).size(width, height);
draw.text(text).font({
  family: 'tAsset.fontFamily',
  size: 'fontHeight',
  leading: '1.2em',
  anchor: "middle"
});
return draw.svg();

然后在创建新缓冲区(Svg)时使用夏普中的返回值。

代码语言:javascript
复制
sharp(buffer).overlayWith(new Buffer(svg), {
  top: model.top,
  left: model.left
}).toBuffer(function (error, data, info) {});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50659033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档