Node 海报功能实践

Node 海报分享实践

最近做了一个 wx 的 node 端海报分享功能,记录一下其中功能的实现,实现一个 express 路由。

使用技术

注意: canvas 与 sharp 由于网络限制需要 fq 下载,建议使用阿里镜像进行下载,这里推荐使用 tyarn 进行相关包下载。

背景

常见的 wx 分享,一般而言主要目的是用来推广客户扫描参与活动,所以基本的核心在于三部分:海报背景文案内容推广二维码。 主要利用 canvas 进行相关绘制,需要明确相关图片与文字内容的相关坐标。这里是把相关内容与对应坐标,写在一个配置文件里。 坐标配置:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
const themes = {
	default: {
		background: 'bgc.jpg',
		title: { x: 100, y: 100, fontFamily: 'serif', color: 'red', fontSize: 40, fontStyle: 'italic', fontWeight: 'bold' }, // 标题
		date: {
			x: 300,
			y: 300,
			fontFamily: 'serif',
			color: 'black',
			fontSize: 12,
			fontStyle: 'italic',
			fontWeight: 'bold',
		}, // 活动时间
		content: { x: 400, y: 400, fontFamily: 'serif', color: '', fontSize: 12, fontStyle: 'italic', fontWeight: 'bold' }, // 活动内容
		qrcode: { x: 500, y: 500, size: { width: 120, height: 120 } }, // 二维码大小与指定位置
		copyright: {
			x: 600,
			y: 600,
			fontFamily: 'serif',
			color: '',
			fontSize: 12,
			fontStyle: 'italic',
			fontWeight: 'bold',
		}, // 版权说明
	},
	purple: {
		background: 'haibao_bg1.png',
		title: {
			fontFamily: 'SourceHanSansHWSC',
			color: 'white',
			fontSize: 44,
			fontStyle: 'normal',
			fontWeight: 'bold',
			x: 56,
			y: 294,
		}, // 标题
		date: {
			x: 181,
			y: 363,
			fontFamily: 'SourceHanSansHWSC',
			color: 'white',
			fontSize: 16,
			fontStyle: 'normal',
			fontWeight: 'bold',
		}, // 活动时间
		content: {
			fontFamily: 'SourceHanSansCN',
			color: 'white',
			fontSize: 11,
			fontStyle: 'normal',
			fontWeight: 'normal',
			x: 47,
			y: 687,
			size: { width: 503, height: 49.5 },
		}, // 活动内容
		qrcode: { x: 189, y: 424, size: { width: 218, height: 218 } }, // 二维码大小与指定位置
		copyright: {
			x: 124,
			y: 798,
			fontFamily: 'SourceHanSansCN',
			color: 'white',
			fontSize: 11,
			fontStyle: 'normal',
			fontWeight: 'normal',
		}, // 版权说明
	},
	plain: {
		background: 'haibao_bg4.png',
		title: {
			offset: 356,
			fontFamily: 'SourceHanSansHWSC',
			color: '#FF165F',
			fontSize: 36,
			fontStyle: 'normal',
			fontWeight: 'bold',
			x: 402,
			y: 58,
		}, // 标题
		date: {
			offset: 356,
			x: 488,
			y: 124,
			fontFamily: 'SourceHanSansHWSC',
			color: '#FF165F',
			fontSize: 16,
			fontStyle: 'normal',
			fontWeight: 'bold',
		}, // 活动时间
		content: {
			offset: 356,
			fontFamily: 'SourceHanSansCN',
			color: '#FF165F',
			fontSize: 11,
			fontStyle: 'normal',
			fontWeight: 'normal',
			x: 401,
			y: 454,
			size: { width: 396, height: 66 },
		}, // 活动内容
		qrcode: { offset: 356, x: 490, y: 220, size: { width: 218, height: 218 } }, // 二维码大小与指定位置
		copyright: {
			offset: 356,
			x: 491,
			y: 554,
			fontFamily: 'SourceHanSansCN',
			color: '#FF155D',
			fontSize: 11,
			fontStyle: 'normal',
			fontWeight: 'normal',
		}, // 版权说明
	},
}

module.exports = themes

接口调用的请求入参数:

1
2
3
4
5
6
7
8
{
	"theme": "plain",
	"title": "xxxx时代店有奖活动",
	"date": "时间:2020-08-27 ~ 2020-08-13",
	"content": "凡到xxxx时代店购买商品的用户,均有机会参与抽奖活动,一等奖价值79元的女鞋一双,20个中奖机会,二等奖价值59元女鞋一双,50个中奖机会",
	"qrcode": "data:image/png;base64,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",
	"copyright": "声明:本活动xxxx时代店拥有解释权"
}

合成步骤分大概两步:

  1. 合成背景图与二维码
  2. 绘制填写相关文案内容

合成图片

sharp 函数接受一个图片输入,参数为图片路径或者图片的 buffer 数据。 主要利用 sharp 的 composite API 进行图片合成, sharp().composite()  接受一个对象数组,这个对象我们最基本需要用到的三个属性;

  • input : 需要合成的图片路径,或者图片的 buffer 数据
  • top :合成图片在图片距离顶部的位移
  • left :同上,合成图片距离图片左边的位移
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
// 根据 ajax 请求的 body,获取主题配置与海报文案,这里二维码是以 base64 的形式传输的
const { theme, qrcode, ...content } = req.body

const imgUrl = path.resolve(__dirname, `../public/${config.background}`)
// 合成图片
// 将 qrcode base64 图片 转化成 buffer
const dataBuffer = Buffer.from(qrcode.replace(/^data:image\/\w+;base64,/, ''), 'base64')
// 处理二维码 大小
const qrCodeBuffer = await sharp(dataBuffer).resize(config.qrcode.size.width, config.qrcode.size.height).toBuffer()
// 开始合成二维码
const compositeImage = await sharp(imgUrl)
	.composite([
		{
			input: qrCodeBuffer,
			top: config.qrcode.y,
			left: config.qrcode.x,
		},
	])
	.toBuffer()

填写文字

利用 canvas 画板,在对应的地方绘制文字。首先我们得读取图片,把图片绘制到画板上,然后利用相关 api 进行文字绘制,具体代码贴下方。

注意:关于 * 2 是为了处理文字内容模糊的问题,具体解释请参照后面。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
// canvas 读取合成图片 base64
const image = bufferToBase64(compositeImage)
// 填写文字
// 注意 * 2 的目的是为了处理文字模糊的问题,node 端没有 devicePixelRatio 属性
const { width: imageWidth, height: imageHeight } = image
const canvas = createCanvas(imageWidth * 2, imageHeight * 2)
const ctx = canvas.getContext('2d')
ctx.drawImage(image, 0, 0, imageWidth * 2, imageHeight * 2)

// 开始绘制文字
drawText(ctx, content, config, imageWidth)

// 创建 图片流并输出到浏览器
canvas.createPNGStream().pipe(res)

这里有两个方法

  • bufferToBase64 : 主要是用来将第一步合成的图片 buffer 数据转化成 canvas 可读取的 base64 图片
  • drawText: 对绘制文字内容的操作封装

读取图片

1
2
3
4
5
6
7
8
// 将图片buffer 转化成 base64,以便 canvas 读取
function bufferToBase64(compositeImage) {
	const image = new Image()
	const data_uri_prefix = 'data:image/png;base64,'
	const buffer = Buffer.from(compositeImage, 'binary')
	image.src = data_uri_prefix + buffer.toString('base64')
	return image
}

绘制文字

这里的文字内容主要分两种:

  • 标题式:主要是单行文本,居中显出。由于设计稿给的标注不太准确,或者容易出现不合理的小数点,这里采用 canvas 的文字居中实现
  • 内容式:内容较多,从而产生换行,左对齐。考虑到自动换行需要进行大量的文字计算,这里采用了第三方的库进行处理,具体使用方式请挪步 canvas-multiline-text
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// 绘制文字
function drawText(ctx, content, config, imageWidth) {
	ctx.textBaseline = 'top'
	Object.keys(content).forEach((key) => {
		const { x, y, offset, fontFamily, color, fontSize, fontStyle, fontWeight } = config[key]
		// 设置文字颜色
		ctx.fillStyle = color
		// 内容多行文本处理
		if (key === 'content') {
			const { width, height } = config[key].size
			// 设置文字对其方式
			ctx.textAlign = 'left'
			drawMultilineText(ctx, content[key], {
				rect: { x: x * 2, y: y * 2, width: width * 2, height: height * 2 },
				font: config[key].fontFamily,
				lineHeight: 1.5,
				verbose: true,
				minFontSize: 11 * 2,
				maxFontSize: 11 * 2,
			})
		} else {
			// 标题类单行文本处理
			// 设置文字字体大小
			ctx.font = `${fontSize * 2}px "${fontFamily}" ${fontStyle} ${fontWeight}`

			ctx.textAlign = 'center'
			ctx.fillText(content[key], (offset || 0) + imageWidth, y * 2)
		}
	})
}

字体注册

当我们绘制特殊字体的时候,需要先进行注册字体,主要用 canvas 的 registerFont api。

1
2
3
4
5
const { createCanvas, registerFont, Image } = require('canvas')

const fontPath = path.resolve(__dirname, '../public')
registerFont(fontPath + '/SourceHanSansCN-Normal.otf', { family: 'SourceHanSansCN' })
registerFont(fontPath + '/SourceHanSansHWSC-Bold.otf', { family: 'SourceHanSansHWSC' })

关于文字居中

关于 node-canvas 文本对齐方式,实现是跟 html canvas 一样的,请参考 MDN Canvas 。需要注意的是,设置 textAlign 后,绘制文字 fillText 的 x 坐标意义就发生了变化,而不是正常的文字最左边所在的坐标。 x 坐标 就是 对齐方式的基准线,比如居中对齐的话,文字居中的中线所在位置就是 x。可以理解为 绘制文字的区域是个矩形,这个矩形中线的位置由 x 控制。

所以当碰到海报是横着的,并且左边有部分区域以没有文字,而文字在右边区域居中的时候,需要设置一个 offest 偏移量进行处理,这也成我的配置中设置了 offset 的缘由,具体如下图所示。

/posts/node-%E6%B5%B7%E6%8A%A5%E5%8A%9F%E8%83%BD%E5%AE%9E%E8%B7%B5/%E6%B5%B7%E6%8A%A5%E6%BC%94%E7%A4%BA.jpeg
海报演示

正常的居中,offset 偏移量为 0,则 x 坐标为图片的宽定 width/2。而存在 offset 的时候则是 (width - offset)/2 + offset = (offset + width)/2。所以最终居中的 x 坐标可以统一写成 (offset || 0 + width)/2。

解决字体模糊问题

合成海报后发现字体模糊,主要原因还是 canvas 渲染的问题。高清屏幕一般是 2 个像素合成 1 像素。因此我们需要将 canvas 画板放大后绘制,然后缩小输出,这样就会变的清晰,主要有以下两种方式。

  • 直接使用  scale  方法
  • 每一个绘制相应的放大,比如我们绘制文字

第一种方法

1
2
3
4
5
6
7
8
9
const canvas = createCanvas(imageWidth * 2, imageHeight * 2)
const ctx = canvas.getContext('2d')
ctx.scale(2, 2)

ctx.drawImage(image, 0, 0, imageWidth, imageHeight)

ctx.font = `${fontSize}px "${fontFamily}" ${fontStyle} ${fontWeight}`
ctx.textAlign = 'center'
ctx.fillText(content[key], ((offset || 0) + imageWidth) / 2, y)

这一种方法是最简单省事的,不用转化设置好的坐标参数。但是会有一个问题,字体间距会被放大后并没有缩放回来,最后的字间距会比正常的大两倍。 我最初的想法是通过设置字间距为原本的 1/2,来解决问题,不过,node-canvas 设置字间距的 api 尚未实现,但是已经有开发者提了 pr 实现,尚未被正式支持,故采取了第二种麻烦的方法。 第二种方法**

1
2
3
4
5
6
7
8
9
const canvas = createCanvas(imageWidth * 2, imageHeight * 2)
const ctx = canvas.getContext('2d')

ctx.drawImage(image, 0, 0, imageWidth * 2, imageHeight * 2)

ctx.font = `${fontSize * 2}px "${fontFamily}" ${fontStyle} ${fontWeight}`
// 设置文字对其方式
ctx.textAlign = 'center'
ctx.fillText(content[key], (offset || 0) + imageWidth, y * 2)

这种方法需要手动将所有的大小以及坐标对应的进行转化,繁琐一点,但是避免了字间距过大的问题。 以上参考文章 解决 canvas 在高清屏中绘制模糊的问题