我在我的项目中导入了 Neue-Plak 半粗体字体:
我使用
context
api 并尝试使用以下方式渲染文本:
const width = 1456
const height = 816
const canvas = createCanvas(width, height)
const context = canvas.getContext('2d')
registerFont(plakSemiBoldPath, { family: 'NeuePlak-SemiBold' })
context.fillStyle = '#FFF'
context.font = '80px NeuePlak-SemiBold'
context.fillText("367.34x", 100, 525)
然后我将渲染的文本覆盖到模板上
sharp
:
sharp(templatePath)
.composite([{ input: textBuffer, blend: 'over' }])
.toFile('./image_output/test.png', (err, info) => {
if (err) reject("Error generating image " + err)
resolve(true)
})
问题是,尽管我提供了半粗体字体,但输出呈现的是超轻版本的文本:
我尝试了几件事:
context.font()
没有任何效果。
我也很确定字体不是可变的,因为它在下载时为您提供了几个样式文件: