nodejs使用canvas合成图片

2021/5/27 7:31:41图片处理nodejs

1,初始化一个仓库

npm init

2,修改package.json,为了可以使用import引用依赖,所支持的文件名必须是mjs

{
	...
  "type": "module"
}

3,安装依赖

yarn add canvas image-size

'4,创建index.mjs

import PATH from 'path'
import Canvas from 'canvas'
import sizeOf from 'image-size'
import {findItem, parseConfig, readDirSync, write, mkdir} from "./config/utils.mjs";

const {createCanvas, loadImage} = Canvas
const canvas = createCanvas(500, 500)
const ctx = canvas.getContext('2d')
const imgPath = './input.png'

let image = await loadImage(bgPaht)
let size = sizeOf(bgPaht)
ctx.drawImage(image, 0, 0, size.width, size.height)
let base64Data = canvas.toDataURL().replace(/^data:image\/\w+;base64,/, "");
let dataBuffer = Buffer.from(base64Data, 'base64');
write('./output.png', dataBuffer)

ctx.clearRect(0, 0, canvas.width, canvas.height);