国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

微信小程序如何使用canvas二維碼保存至手機相冊

2020-03-21 15:51:56
字體:
來源:轉載
供稿:網友

前言

在使用canvas繪制海報的過程中不建議使用原生來進行畫圖,因為默認是不支持rpx像素的,px不會做到自適應。

推薦使用插件 Painter

github地址

github.com/Kujiale-Mob (本地下載)…

配置很簡單,也容易上手,無論是畫矩形,還是將圖片合成canvas;還是自己定義文字;都是很方便的。

附上一個簡單的例子吧

微信小程序,canvas,二維碼,手機相冊

 <painter :customStyle="customStyle" :palette="imgDraw" />
// const _this=this;   wx.getSystemInfo({    success (res) {     _this.drawCanvas(res.windowHeight);    }   })	 drawCanvas(height) {//這里的canvas的高是動態獲取設備的高度,做到自適應    const that = this;   let heightVal=height*2+'rpx';   this.imgDraw = {    width: '750rpx',    height: heightVal,    background: '#fff',    views: [     {      type: "rect",      css: {       top: '20rpx',       left: '130rpx',       color: '#1A1A1A',       width: '660rpx',       height: '220rpx',       borderRadius: '32rpx'      }     },     {      type: 'image',      url: './a.jpg',      css: {       top: '36rpx',       left: '16rpx',       width: '188rpx',       height: '188rpx'      }     },     {      type: 'text',      text: '',      css: {       top: '54rpx',       left: '260rpx',       fontSize: '48rpx',       color: "#fff"      }     },     {      type: 'text',      text: '文字部分',      css: {       top: '134rpx',       left: '260rpx',       fontSize: '30rpx',       color: "#d1d1d1"      }     },     {      type: 'text',      text: '1333333333',      css: {       top: '196rpx',       left: '260rpx',       fontSize: '26rpx',       color: "#d1d1d1"      }     },     {      type: 'text',      text: '李四',      css: {       top: '304rpx',       left: '302rpx',       fontSize: '24rpx',       color: "#767676"      }     },     {      type: 'image',      url: '/icon-localtion.png',      css: {       top: '275rpx',       left: '260rpx',       width: '26rpx',       height: '168rpx'      }     },     {      type: 'image',      url: '二維碼.png',      css: {       top: '646rpx',       left: '236rpx',       width: '278rpx',       height: '278rpx'      }     }    ]   }     let { path: __path } = mpvue.getStorageSync('createImagePath')   mpvue.saveImageToPhotosAlbum({    filePath: __path,    success(res) {     // mpvue.showToast({     //  title: '保存成功',     //  icon: 'success',     //  duration: 800,     //  mask: true     // });       },    fail(res) {     // mpvue.showToast({     //  title: '保存失敗',     //  icon: 'fail',     //  duration: 800,     //  mask: true     // });    }   });  },

這里涉及到畫二維碼, 如果你的二維碼圖片不是一個線上的鏈接的話,這時需要做一些小操作。

我的項目中二維碼的圖片傳過來是一個流,所以用img的src默認發送get請求,就能拿到這個圖片了。

所以url會直接發送get請求拿到圖片。

canvas的層級

canvas的層級是最高的,底部的分享塊會被遮住,這時你需要用兩套方案,一個是純展示用的,用正常的html來寫,給用戶看這個名片。

下載或分享的時候再y用canvas生產你想要圖片,接著調用微信的保存api,將圖片下載或分享。

let { path: __path } = mpvue.getStorageSync('createImagePath')mpvue.saveImageToPhotosAlbum({ filePath: __path, success(res) {  // mpvue.showToast({  //  title: '保存成功',  //  icon: 'success',  //  duration: 800,  //  mask: true  // }); }, fail(res) {  // mpvue.showToast({  //  title: '保存失敗',  //  icon: 'fail',  //  duration: 800,  //  mask: true  // }); }});

此時就能順利完成保存名片的功能了。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彩票| 疏附县| 竹山县| 曲松县| 政和县| 耒阳市| 永嘉县| 琼结县| 贡嘎县| 积石山| 岳普湖县| 勃利县| 内乡县| 汝阳县| 凤山县| 千阳县| 开江县| 南澳县| 丹阳市| 和硕县| 沂南县| 屏南县| 澎湖县| 郸城县| 贵州省| 吉林省| 上杭县| 宜良县| 汤原县| 无锡市| 驻马店市| 郁南县| 武汉市| 山西省| 府谷县| 天峨县| 亚东县| 南郑县| 靖远县| 昭觉县| 满城县|