在 nodejs gm 库中通过 URL 加载字体
Load fonts via URL in nodejs gm library
我正在使用 gm 库在我的图像上添加一些文本。这是代码:
imageMagick(source)
.fill(fillColor) // font color
.fontSize(fontSize) // set font size
.font(font)
.drawText(x, y, text, gravity) // set x, y and text
.write(output_file, function(err) { // output the modified image
if (err) console.log(err); // if error, log it
else console.log("Image generated"); // log success
});
如果我从本地文件加载字体(在 .font(font)
中),这会起作用。但是,如果我从 URL(比如从云端)加载字体,则会加载默认字体。
以这种方式加载的字体:/home/user/some/dir/font_name.ttf
- 这行得通。 https://cloud.front.url/font/font_name.ttf
- 这不起作用。
可能值得注意的是,我正在使用 ImageMagick:
var gMagick = require('gm');
var imageMagick = gMagick.subClass({
imageMagick: true
});
有什么方法可以从 URL 加载字体?
截至目前,ImageMagick 不支持从 URL 加载字体。字体文件必须保存在本地存储中。
我正在使用 gm 库在我的图像上添加一些文本。这是代码:
imageMagick(source)
.fill(fillColor) // font color
.fontSize(fontSize) // set font size
.font(font)
.drawText(x, y, text, gravity) // set x, y and text
.write(output_file, function(err) { // output the modified image
if (err) console.log(err); // if error, log it
else console.log("Image generated"); // log success
});
如果我从本地文件加载字体(在 .font(font)
中),这会起作用。但是,如果我从 URL(比如从云端)加载字体,则会加载默认字体。
以这种方式加载的字体:/home/user/some/dir/font_name.ttf
- 这行得通。 https://cloud.front.url/font/font_name.ttf
- 这不起作用。
可能值得注意的是,我正在使用 ImageMagick:
var gMagick = require('gm');
var imageMagick = gMagick.subClass({
imageMagick: true
});
有什么方法可以从 URL 加载字体?
截至目前,ImageMagick 不支持从 URL 加载字体。字体文件必须保存在本地存储中。