如何在 Firebase 函数中处理字体等资产
How to handle assets like font in a Firebase function
我正在研究用于在图像上绘制文本的 Firebase 函数。
首先,我从 Cloud Storage 下载本地图像,然后使用图形魔法在其上绘制文本,最后将这张新图像上传到 Cloud Storage。
这里是在图片上绘制文字的 Promise:
return new Promise((resolve, reject) => {
gm(tempFilePath)
.font(Roboto)
.drawText(10, 10, "My text here")
.write(newTempFilePath, (err, stdout) => {
if (err) {
console.error('Failed to blur image.', err);
reject(err);
} else {
console.log(stdout);
resolve(stdout);
}
});
});
问题:这里如何使用自定义字体?
.font(Roboto)
是否可以在 Firebase 函数中将资产文件作为字体文件 (Roboto-BoldItalic.ttf) 处理?
感谢
你可以尝试以下方法吗:
- 从这里获取 Roboto-BoldItalic.ttf 字体文件:https://github.com/google/fonts/tree/master/apache/roboto。
- 在函数目录下,创建一个
fonts
文件夹并将 Roboto-BoldItalic.ttf
文件粘贴到那里。
- 在您的代码中执行以下操作:
gm(tempFilePath)
.font("./fonts/Roboto-BoldItalic.ttf")
....
- 部署您的云函数
我正在研究用于在图像上绘制文本的 Firebase 函数。 首先,我从 Cloud Storage 下载本地图像,然后使用图形魔法在其上绘制文本,最后将这张新图像上传到 Cloud Storage。
这里是在图片上绘制文字的 Promise:
return new Promise((resolve, reject) => {
gm(tempFilePath)
.font(Roboto)
.drawText(10, 10, "My text here")
.write(newTempFilePath, (err, stdout) => {
if (err) {
console.error('Failed to blur image.', err);
reject(err);
} else {
console.log(stdout);
resolve(stdout);
}
});
});
问题:这里如何使用自定义字体?
.font(Roboto)
是否可以在 Firebase 函数中将资产文件作为字体文件 (Roboto-BoldItalic.ttf) 处理? 感谢
你可以尝试以下方法吗:
- 从这里获取 Roboto-BoldItalic.ttf 字体文件:https://github.com/google/fonts/tree/master/apache/roboto。
- 在函数目录下,创建一个
fonts
文件夹并将Roboto-BoldItalic.ttf
文件粘贴到那里。 - 在您的代码中执行以下操作:
gm(tempFilePath)
.font("./fonts/Roboto-BoldItalic.ttf")
....
- 部署您的云函数