nodejs绘制生成图像

本文介绍如何使用Node.js的node-canvas库动态生成包含文本和图像的分享图片,适用于微信小程序的分享功能。详细讲解了安装node-canvas、基础应用如fillText和drawImage的使用,以及如何将生成的图片上传到七牛云。
摘要由CSDN通过智能技术生成

前言

毕设的小程序要实现分享功能,我将分享功能按照不同的页面分成了三块。分享的内容都是动态定义的,而且因为微信只支持图片分享的模式,所以这里只能使用后端将分享的内容动态写进图片里,最后上传到七牛云,返回一个图片地址

阅读器页面分享

就是在阅读章节的时候选择分享,分享出去的图片应当展示的信息包括:书籍封面、书籍名称、章节名称、以及部分章节内容
章节分享

书籍详情页分享

分享出去的图片应当展示的信息包括:书籍封面、书籍名称、作者、书籍类型、以及书籍简介,这块还在开发中,到时候再补进来

小程序首页分享

这个功能,我想加入到后台管理系统中,让管理员能自定义分享的图片,思路什么的还在考虑中。

具体实现

说了那么多,直接来看怎么撸代码吧
关于node自定义生成图片,有一个很好的npm包,叫做node-canvas,它可以让你在node中像在浏览器中一样绘制图像,诸如常见的drawImage、fillText、fillRect这些方法都支持。所以使用node绘制图像就不成大问题了,但关键是怎么绘制。

安装node-canvas
# 安装基础依赖
# ubuntu
sudo apt-get install libcairo2-dev libjpeg-dev libpango1.0-dev libgif-dev build-essential g++
# mac OS
brew install pkg-config cairo libpng jpeg giflib

# 安装canvas
npm install canvas

安装出现了问题或者想要知道更多关于node-canvas的信息,可以看看它的github首页

基础应用

比如用node-canvas绘制一段文字

import Canvas  from 'canvas'

const canvas = new Canvas(300, 120) // 按照微信官方要求,长宽比5:4
const context = canvas.getContext('2d'<
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值