我正在使用带有 Node.JS 的Sharp NPM 库,并且正在尝试将文本添加到我的画布中。我在这里发现我需要使用.overlayWith()
,以及另一个可以将文本转换为 SVG 的库。那里的评论建议使用text-to-svg或vectorize-text,但这两者以及text2svg 都会返回 SVG。Sharp 的.overlayWith()
功能需要一个图像缓冲区。如何将这些库返回的 SVG 转换为 Sharp 的图像缓冲区?
问问题
5095 次
2 回答
0
找到解决方案:NPM 模块SVG2IMG采用 SVG 字符串并将其转换为图像缓冲区。
于 2018-06-02T18:53:30.490 回答
0
也许您可以尝试通过svg.js构建所有 svg 上下文,
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)。
sharp(buffer).overlayWith(new Buffer(svg), {
top: model.top,
left: model.left
}).toBuffer(function (error, data, info) {});
于 2018-06-07T14:23:19.097 回答