2. 合并图形
用于合并图片的库有很多,比如gm、jimp、mapnik、sharp等,其中sharp是基于libvips库来实现的,性能是最高的,所以我采用了sharp来合并图形 。
let textSVG = Buffer.from(textSVG);let bgPath = path.join(__dirname, './img/bg.jpg');let targetPath = path.join(__dirname, '../dist/bg.jpg');sharp(bgPath).composite([{ input: textSVG, gravity: 'center' }]).toFile(targetPath);
sharp库注意事项
- 因为libvips是基于c++实现的,所以sharp库需要基于C++源代码进行编译构建后才能使用 。node-gyp是为node编译C++扩展的时候使用的编译工具,但是node-gyp依赖Python和VC++构建工具来进行编译 。所以需要先安装python 和 VC++ 环境 。最简单的方式就是顺序执行下面安装命令:
// 安装构建环境python、vc++npm install --global --production windows-build-tools// 安装node-gyp 编译工具npm install --global node-gyp// 安装sharpnpm install sharp
- 官方文档中,用sharp合并图像时,给出的api是 overlayWith,但是你会发现,这个api并不存在 。这个是因为sharp最新版本0.23.3删除了overlayWith,用composite进行了替换 。
文章插图
总结程序可以帮助我们干重复的事情,提高我们的生产力,如果程序员写的代码都用于解决自己生活中遇到的问题,对程序员无疑是巨大的动力源泉 。
【Node.js实现将文字与图片合成技巧】
推荐阅读
- DPDK based Open vSwitch热升级设计与实现
- WiFi6一定强过WiFi5?360家庭防火墙V5X实测,结果可能不是这样的
- 用Python实现十大经典排序算法-插入、选择、快速、冒泡、归并等
- 人力资源和社会保障部|当代“打工人”现状:45岁工厂不招,50岁菜都卖不了?原因很现实
- 机动车、驾照迎来“3+2”新规,包括名下车牌互换,4月1日起实行
- 淘宝开店如何进货 淘宝进货怎么进
- 我再也不敢说我会写前端 Button组件「实践」
- 淘宝行业大盘在哪里看 淘宝怎么看大盘实时数据
- 怎么积攒人脉 如何积累人脉
- 设计RESTful API的5个最佳实践