做小程序的時候,遇到了一個的一個功能點是,保存圖片到本地相冊,但是當前頁面是詳情頁面,是需要後臺配合動態渲染並不是一個圖片,所以需要用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”){
//獲取成功
}
}
})
}
})