NodeJs Canvas 没有出现

NodeJs Canvas does not appear

我正在使用以下代码安装节点 js canvas API:

npm install canvas --save

我已经编写了显示 canvas 的代码,但它没有显示任何内容。代码在执行时不显示错误:

const { createCanvas } = require('canvas')
const width = 1200
const height = 600

const canvas = createCanvas(width, height)
const context = canvas.getContext('2d')

context.fillStyle = '#fff'
context.fillRect(0, 0, width, height)

此包为我们提供了基于 Node.js 的 Canvas API 实现,我们在浏览器中了解并喜爱它。

除了不是从 <canvas> HTML 元素获取 Canvas 实例,我们加载库,获取函数 createCanvas 出来了。

示例:

const { createCanvas, loadImage } = require('canvas')
const canvas = createCanvas(200, 200)
const ctx = canvas.getContext('2d')

ctx.rotate(0.1)
ctx.fillText('Awesome!', 50, 100)
 
// Draw line under text
var text = ctx.measureText('Awesome!')
ctx.strokeStyle = 'rgba(0,0,0,0.5)'
ctx.beginPath()
ctx.lineTo(50, 102)
ctx.lineTo(50 + text.width, 102)
ctx.stroke()
 
// Draw cat with lime helmet
loadImage('./imgs.jpg').then((image) => {
  ctx.drawImage(image, 50, 0, 70, 70)
 
  console.log('<img src="' + canvas.toDataURL() + '" />')
})

如果您使用的是 Windows,您需要按照 GitHub:
上的安装步骤进行操作 https://github.com/Automattic/node-canvas/wiki/Installation:-Windows

构建 node-canvas 模块需要:

  1. node-gyp 的全局安装。
  2. GTK 2
  3. 对于可选的 JPEG 支持(node-canvas 2.0 及更高版本):libjpeg-turbo

如果您正在使用任何其他 OS,您可以在他们的 README 中找到针对您的 OS 的说明,在编译部分:
https://github.com/Automattic/node-canvas