微信小程序截屏保存图片

在小程序的分享功能中,截屏是一个比较常见的需求。而截屏不只是截取当前页面,还要将二维码放进去以方便用户长按识别。从营销方面来看,这样可以说是一举两得了。要实现的效果如下:


在这里插入图片描述

实话说,一开始收到这个需求是懵b的,完全没有任何思路。试过用a标签的download属性,但是只能在电脑端才能下载…一路坎坎坷坷,四处碰壁,虐得我体无完肤…后来终于在慢慢摸索中发现了生的希望。
在这里插入图片描述

1 背景

需要截屏的页面是在h5页面中实现的,通过webview嵌进去小程序


2 步骤

1.将html元素转化为canvas;
2.将canvas转化为base64的图片;
3.调用微信api保存网络图片到本地;
4.保存成功后返回原页面

总之!!截屏功能是在h5页面中实现的,而图片的保存是在一个新的小程序页面。


在这里插入图片描述

3 思路

新建一个canvas,将原界面的html转成canvas,生成base64图片,再通过canvas.getContext(‘2d’).drawImage()分别把原界面和二维码画上去,将base64传到后台返回一张网络图片,把这张图片通过url从webview传到小程序,同时跳转到新的小程序页面,最后利用微信api保存图片到本地,保存图片成功后返回上一层页面。

4 实现

截屏:使用html2canvas插件

1.将html转成canvas,生成base64图片
在这里插入图片描述
在这里插入图片描述

2.将base64通过接口获取网络地址
在这里插入图片描述

保存:调用微信api
在这里插入图片描述
在这里插入图片描述

以上!!

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值