前言
笔者在项目中需要用到 node 绘图并返回,查询了市面上的 node 的绘图库
绘图库 | 不想用的理由 | ||
---|---|---|---|
canvas | 这个库吧安装要求,太多了,Python 版本要求 2.7,还要安装 GTK,gyp 什么的,因为已经安装了 py3.0 了改来改去也太麻烦了~。 | gm | 因为没找到这个库的渐变怎么做的资料,其他看起来挺好用的 |
找来找去我想到可以利用 puppeteer进行绘图
介绍
大白话就是一个跑在 node 内部的浏览器,可以在这个浏览器中进行一些 node 不能做的操作,比如:生成网页的 PDF, 网页性能测试,模拟表单提交,爬取网页数据等等, 当然还有这篇文章的主题用puppeteer在 node 中绘图
gogogo
1.封装一下获取浏览器实例
这里的 mainConfig.config.puppeteer
为
因为只用绘制功能所以,不会进行网页的跳转所以这里没有配置沙箱,如果你涉及了页面的跳转强烈建议你配置沙箱
2.定义 绘图函数
这里以绘制文字为例
3.获取并使用浏览器页面实例
这里注意 page.evaluate
函数
所以toImgData
中的getColorX
写在了内部
当然也可以把getColorX
函数抽离然后这样调用
- 效果如下
总结
本文介绍了 node 使用 puppeteer 进行绘图。
要注意的地方是如果在 linux 中绘制中文会出现空白的情况 因为在 linux 中默认是没有安装中文字符的进行安装即可
并且在 linux 中直接 npm i puppeteer
是启动不了的
需要自己安装 chromium
或者
然后
报错这个
是因为没配置沙箱,这样以无沙箱模式启动
建议配置沙箱
例子 git 地址 github.com/lgldlk/pupp…
欢迎加入前端学习讨论群 qq 群号: 530496237
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!