真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

微信小程序的canvas生成圖片并保存到本地的方法

前言

創(chuàng)新互聯(lián)專注于江津網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供江津營銷型網站建設,江津網站制作、江津網頁設計、江津網站官網定制、重慶小程序開發(fā)服務,打造江津網絡公司原創(chuàng)品牌,更為您提供江津網站排名全網營銷落地服務。


需求場景:我們知道,微信小程序可以分享給好友或者微信群,不能分享到朋友圈,那分享到朋友圈就需要特殊處理一下,這里我們把小程序和canvas結合起來使用,生成自定義圖片并保存到本地。

代碼


  • wxml文件


    

  • js文件

通過canvasAPI繪制

const ctx = wx.createCanvasContext('myCanvas');
//繪制背景圖
ctx.drawImage(res.path, 0, 0, screenWidth, 500);
//繪制背景圖上層的頭像
ctx.save();
ctx.arc(100, 100, 30, 0, 2 * Math.PI);
ctx.clip();
ctx.drawImage(avatarUrl, 50, 50, 110, 110);//根據(jù)微信getUserInfo接口獲取到用戶頭像
ctx.restore();
//繪制文字
ctx.setTextAlign('center')
ctx.setFillStyle('#fff')
ctx.setFontSize(16)
ctx.fillText(userInfo.nickName, 100, 180)//用戶昵稱
ctx.stroke()
ctx.draw()

通過wx.canvasToTempFilePath獲取本地路徑

wx.canvasToTempFilePath({
    x: 0,
    y: 0,
    width: 300,
    height: 500,
    canvasId: 'myCanvas',
    success: function (res) {
        console.log(res.tempFilePath);
    }
})

通過wx.saveImageToPhotosAlbum保存圖片到本地

wx.saveImageToPhotosAlbum({
    filePath: tempFilePath,//canvasToTempFilePath返回的tempFilePath
    success: (res) => {
        console.log(res)
    },
    fail: (err) => {}
})

簡單的效果圖


微信小程序的canvas生成圖片并保存到本地的方法

總結

canvasdrawImage方法只支持本地圖片,不支持網絡圖片,所以頭像和背景圖我都用getImageInfo這個方法轉了一下。

通過userInfo獲取的頭像是正方形的,不是需求中的圓形,這里用到了clip()方法,需要配合save()restore(),因為裁剪之后如果不恢復,接下來的繪制都會在那個小區(qū)域里面。

此次demo沒有使用生成二維碼的api,有興趣的朋友們可以搞一下。此處是鏈接

以上就是微信小程序-canvas生成圖片并保存到本地的詳細內容,更多請關注創(chuàng)新互聯(lián)其它相關文章!


網站名稱:微信小程序的canvas生成圖片并保存到本地的方法
地址分享:http://weahome.cn/article/jhshsj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部