微信小游戏保存自定义分享图到相册实例
发布网友
发布时间:2022-10-08 06:56
我来回答
共1个回答
热心网友
时间:2023-11-06 15:05
自定义绘制纹理文本,借助画布以图片形式保存至玩家相册,常用于制作游戏分享图。
实例中包含一张背景图(来自官方*样例素材)和两行文本。
调用 wx.saveImageToPhotosAlbum 前需要用户授权 scope.writePhotosAlbum
wx.saveImageToPhotosAlbum 传入参数 filePath 的格式必须如下图,http开头:
如果使用游戏引擎(egret、laya等)进行开发,默认会创建一个canvas,直接用 canvas.toTempFilePathSync 方式进行保存临时文件,返回结果 tempFilePath 可能与预期不符,这种格式能用于分享(已测试可行),简单可理解为仅用于微信环境内部流通,无法外流,例如不能保存到相册等。
解决方法:新建一个临时画布,然后绘制保存即可。
另外,由于微信官方*,egret的 toDataURL 已无法使用,base64方式走不通,如此只能用原生方法 drawImage 来绘制图片。
Github地址:
https://github.com/pury/wxgame-demos/tree/master/save-picture-to-album
By Pury.