做小程序的时候,遇到了一个的一个功能点是,保存图片到本地相册,但是当前页面是详情页面,是需要后台配合动态渲染并不是一个图片,所以需要用canvas绘制出想要的图形,
首先需要 兼容页面 rpx自适应换换成px(canvas绘制时需要px运算)(按照750px设计稿计算)
topx:function(rpx){
return rpx*(this.data.width/750)
}
知识点:
阴影pc好使 手机不好使
同时花两个圆剪切图片不好使
画文字时 控制不好字体的大小 容易超出
画文本时 超出多行显示点点点并左对齐实现不了
保存图片
wx.canvasToTempFilePath({
x:0, //横坐标
y:0, //纵坐标
width:画布的宽,//尽可能大,保证图片质量
height:画布的高,
destWidth: 输入图片的宽,
destHeight: 输入图片的高,
canvasId:'画布canvasId',
success:function(res){
//保存图片
wx.saveImageToPhotosAlbum({
filePath:res.temFilePath,
success:function(res){
//保存图片
}
})
}
fail:function(res){
//获取权限
wx.openSetting({
success(settingdata){
if(settingdata.authSetting[“scope.writePhotosAlbum”){
//获取成功
}
}
})
}
})