亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

微信小程序繪制圖片發送朋友圈

2019-11-19 11:08:06
字體:
來源:轉載
供稿:網友

本文實例為大家分享了微信小程序繪制圖片發送朋友圈的具體代碼,供大家參考,具體內容如下

這種生成圖片的效果是很常見的,實現起來也不難,跟原生js的差不多。需要注意的就是canvas標簽上不要加太多的css,后果呢就是導致canvas不顯示,還有呢就是canvas組件的優先級是最高的,所以會覆蓋掉下面的所有內容,解決方法呢就是使用:

使用上面這兩個組件是可以蓋在canvas上面的。

注意:canvas繪制不支持網絡圖片,需要將網絡圖片保存成本地圖片

 onLoad: function(options) {    var grade = options.grade;    this.setData({      grade: grade    })    this.loading();   },  //檢測,網絡圖片是否下載完成  loading: function() {    var _this = this;    wx.showLoading({      title: '生成中...',    })    timer = setInterval(function() {      var avatarUrl = _this.data.avatarUrl;      var qc_code = _this.data.qc_code;      if (avatarUrl != null && qc_code != null) {        wx.hideLoading();        clearInterval(timer);        _this.draw();      }    }, 500)  },  //保存到相冊  saveImage: function() {    var imagePath = this.data.imagePath;    wx.saveImageToPhotosAlbum({      filePath: imagePath,      success: function(res) {        console.log(res)      },      fail: function(res) {        console.log(res)      }    })   },  //將用戶頭像下載為本地路徑  downImage: function(img) {    var _this = this;    wx.getImageInfo({      src: img,      success: function(res) {        console.log(res.path)        _this.setData({          avatarUrl: res.path        })       }    })  },  //下載小程序二維碼  downImage2: function (img) {    var _this = this;    wx.getImageInfo({      src: img,      success: function (res) {        console.log(res.path)        _this.setData({          qc_code: res.path        })       }    })  },  //生成canvas圖片  draw: function() {    var _this = this;    var context = wx.createCanvasContext('firstCanvas');    var userInfo = wx.getStorageSync('userInfo');    var award ;    // 性別    var gender = userInfo.gender;    //背景圖片    var bg = '../../images/icon-cj.png';    //得分    var grade = 0 ^ _this.data.grade;    var width;    var height;    if (grade >= 0 && grade <= 30) {      if(gender == 2){        award = '../../images/zbzxlp.png';      }else{        award = '../../images/zbzxlg.png';      }    }else if(grade >= 31 && grade <= 60){      if (gender == 2) {        award = '../../images/zklp.png';      } else {        award = '../../images/zklg.png';      }    } else if (grade >= 61 && grade <= 80){      if (gender == 2) {        award = '../../images/zmlp.png';      } else {        award = '../../images/whlg.png';      }    }else{      if (gender == 2) {        award = '../../images/wmlp.png';      } else {        award = '../../images/wmlg.png';      }    }      if (award == '../../images/zbzxlp.png' || award == '../../images/zbzxlg.png'){      width = 156;      height= 25;    }else{      width = 103;      height = 25;    }      //二維碼    var qc_code = _this.data.qc_code;    // 用戶頭像    var avatarUrl = _this.data.avatarUrl;    //獲取設備的基本信息    wx.getSystemInfo({      success: function(res) {        //繪制背景圖        context.drawImage(bg, 0, 0, 350, 468);        // 繪制獎項        context.drawImage(award,180 - (width / 2),212 - (height / 2),width,height);        //繪制二維碼        context.drawImage(qc_code, 175 - (92 / 2), 385 - (108 / 2), 92, 107);        //繪制得分        context.setFontSize(28); //字體大小        context.fillStyle = '#4fc089';        context.setTextAlign('center')        context.fillText(grade, 177, 48)        // 繪制姓名        context.setFontSize(16);        context.fillStyle = '#000000';        context.setTextAlign('center')        context.fillText(userInfo.nickName, 167, 180);        // 繪制頭像        context.drawImage(avatarUrl, 72, 157, 33, 33);         context.draw(false, function() {          setTimeout(function() {            wx.canvasToTempFilePath({              width: 350,              height: 468,              destWidth: 700,              destHeight: 936,              canvasId: 'firstCanvas',              success: function(res) {                var tempFilePath = res.tempFilePath;                console.log("圖片"+tempFilePath);                _this.setData({                  imagePath: tempFilePath,                  isCanvas: true                });                _this.upload(tempFilePath);               },              fail: function(res) {                console.log(res);              }            });          }, 1000);        });      },    })  },

因為我的項目需要,我上面做個很多判斷,那些東西不需要管,重點就是,繪制圖片drawimage方法 和繪制文字的方法,我的繪制方法是讓他們根據canvas上的一個坐標點居中繪制的,這個可以看一下。

還有就是,生成圖片的尺寸要比畫的尺寸大一倍,這樣圖片不會失真,比較清楚,也就是這個方法:

wx.canvasToTempFilePath() 前兩個參數是canvas的大小,然后是生成圖片的大小,canvas的ID

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲一级高清| 69av成年福利视频| 亚洲女人天堂av| 亚洲影影院av| 亚洲人成亚洲人成在线观看| 国产一区二中文字幕在线看| 国产精品第三页| 欧美成人黑人xx视频免费观看| 日韩av综合中文字幕| 成人免费视频xnxx.com| 国产亚洲一区二区在线| 亚洲精品资源美女情侣酒店| 最近2019好看的中文字幕免费| 欧美性少妇18aaaa视频| 国产精品久久久久久av| 欧美视频一区二区三区…| 北条麻妃久久精品| 国产精品久久久久久久久久久久| 久久久久久国产精品美女| 北条麻妃99精品青青久久| www.欧美三级电影.com| 亚洲欧美精品在线| 久久久噜噜噜久久中文字免| 亚洲老司机av| 欧美性xxxxxx| 亚洲美女视频网| 日韩成人小视频| 精品国产999| 日韩成人在线视频网站| 欧美激情免费在线| 欧美一级免费视频| 最近2019中文字幕在线高清| 人妖精品videosex性欧美| 两个人的视频www国产精品| 亚洲福利视频二区| 亚洲精品456在线播放狼人| 一区二区日韩精品| 亚洲自拍偷拍网址| 精品久久久久久久久中文字幕| 日韩精品高清在线| 国产91精品久久久久久久| 性金发美女69hd大尺寸| 久久久成人精品| 国产成人精品视| 中文一区二区视频| 日韩在线播放av| 亚洲免费av网址| 色香阁99久久精品久久久| 国产a∨精品一区二区三区不卡| 国产精品视频播放| 欧美极品少妇xxxxⅹ喷水| 97视频在线观看亚洲| 在线看国产精品| 国产精品老女人精品视频| 性欧美视频videos6一9| 日韩久久精品成人| 亚洲男人天堂视频| 57pao成人国产永久免费| 日韩精品中文字幕久久臀| 91高清免费视频| 91成人精品网站| 国产91亚洲精品| 国产一区二区三区毛片| 久久99视频精品| 日韩视频免费在线| 色综合久久天天综线观看| 91精品国产高清久久久久久91| 91成人精品网站| 国产欧美一区二区| 亚洲欧美综合另类中字| 在线视频日本亚洲性| 欧美精品手机在线| 精品久久久久久国产91| 国产精品一区久久| 成人欧美一区二区三区在线湿哒哒| 欧美久久精品午夜青青大伊人| 久久av中文字幕| 日本最新高清不卡中文字幕| 91亚洲va在线va天堂va国| 久久五月天综合| 91精品国产乱码久久久久久蜜臀| 最近2019中文字幕第三页视频| 中国china体内裑精亚洲片| 欧美日韩国产色| 日韩小视频网址| 2019中文字幕免费视频| 精品久久久久久久久久久久| 久久久97精品| 欧美成人高清视频| 国内精品久久影院| 一区二区三区国产在线观看| 中文字幕在线看视频国产欧美在线看完整| 欧美日韩精品国产| 久久精品久久久久电影| 国产视频精品va久久久久久| 久久久伊人日本| 欧美精品九九久久| 欧美日韩亚洲一区二区三区| 国产精品专区一| 久久99精品久久久久久噜噜| 国产精品久久久久久久久久久新郎| 亚洲免费视频在线观看| 欧美精品激情blacked18| 国产日本欧美一区二区三区| 亚洲精品一区二区在线| 高清亚洲成在人网站天堂| 亚洲精品福利免费在线观看| 久久久免费观看视频| 久久999免费视频| 国产精品视频999| 久久久精品国产一区二区| 国产日韩欧美影视| 欧美日韩免费在线观看| 亚洲欧美精品在线| 久久久精品欧美| 欧美巨猛xxxx猛交黑人97人| 久久久av网站| 国产精品久久久久免费a∨大胸| 中文字幕久热精品视频在线| 久久精品国产清自在天天线| 欧美大全免费观看电视剧大泉洋| 亚洲毛茸茸少妇高潮呻吟| 国产精品青草久久久久福利99| 精品亚洲一区二区三区四区五区| 777精品视频| 国内外成人免费激情在线视频网站| 亚洲免费电影在线观看| 狠狠久久亚洲欧美专区| 国产ts人妖一区二区三区| 少妇av一区二区三区| 色综合久综合久久综合久鬼88| 欧美大片免费观看| 成人久久一区二区三区| 欧美性在线视频| 国产精品看片资源| 啊v视频在线一区二区三区| 亚洲欧美福利视频| 国产精品久久9| 欧美成人精品在线| 98精品在线视频| 久久久久久久色| 国产999在线观看| 欧美国产日本在线| 国产精品久久久久久久午夜| 中文在线不卡视频| 欧美另类老肥妇| 亚洲国产高清福利视频| 亚洲国内精品视频| 日韩精品视频在线免费观看| 欧美午夜电影在线| 久久综合久久88| 亚洲人成在线电影| 欧美性视频精品| 久久久在线视频| 色偷偷88888欧美精品久久久| 成人av电影天堂| 日韩精品在线电影| 最新日韩中文字幕| 国产精品久久久一区| 性欧美暴力猛交69hd| 成人欧美一区二区三区在线| 欧美重口另类videos人妖| 久久久综合免费视频| 97香蕉久久超级碰碰高清版|