1躺苦、var imgsW = [];
? ? ? ?var imgsH = [];
????????Page({
? ? ? ? ? ? ? ? ..........
????????????})
2身腻、需要下載圖片的地方調(diào)用,獲取用戶寬高圾另,并賦值霸株,數(shù)組添加使用push
var _this = this;
wx.downloadFile({?
????url: 圖片地址,
? ? ? success: function (res) {
? ? ? ? if (res.statusCode === 200) {
//獲取圖片信息,主要獲取寬高
? ? ? ? ? wx.getImageInfo({
? ? ? ? ? ? src: res.tempFilePath,
? ? ? ? ? ? success: function (rest) {
? ? ? ? ? ? ? imgsW.push(rest.width);//賦值
? ? ? ? ? ? ? imgsH.push(rest.height);
? ? ? ? ? ? ? let url = _this.data.downloadImg;
? ? ? ? ? ? ? url.push(res.tempFilePath)
? ? ? ? ? ? ? _this.setData({
? ? ? ? ? ? ? ? downloadImg: url,
? ? ? ? ? ? ? })
? ? ? ? ? ? ????_this.drawView(); ? // 所需圖片的下載完成后集乔,才可開始draw界面
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? }
? ? ? ? ? ? }
?? ? ? ? ?})
?? ? ? ?}
? ? ? }
? ? })
3去件、圖片下載完成,開始畫圖扰路,
drawView() {
????var context = wx.createCanvasContext('shareHomePage', this);
? ? context.setFillStyle('#ffffff');
? ? context.fillRect(0, 0, 500, 600);
? ? var?img_top = 10;
? ? var img_left = 10;
? ? var spaceX = 6;
? ? var?img_w_h = (500 - (spaceX + img_left)?* 2 ) / 3.0;
????for (var i in this.data.downloadImg) {
? ? ????? if (i >= 3) {
? ? ? ? ????break;
?? ? ? ? ?}
? ? ? var url = this.data.downloadImg[i];
? ? ? var minx = (imgsW[i] - imgsH[i]) / 2.0;
? ? ? var miny = (imgsH[i] - imgsW[i]) / 2.0;
? ? ? if(imgsW[i] > imgsH[i]) {
? ? ? ? context.drawImage(url, minx, 0, imgsH[i], imgsH[i], img_left, img_top, img_w_h, img_w_h);
? ? ? } else {
? ? ? ? context.drawImage(url, 0, miny, imgsW[i], imgsW[i], img_left, img_top, img_w_h, img_w_h);
? ? ? }
? ? ? img_left += spaceX + img_w_h
? ? }
}
/**
?context.drawImage(url, 0, miny, imgsW[i], imgsW[i], img_left, img_top, img_w_h, img_w_h);
括號(hào)內(nèi)對(duì)應(yīng)參數(shù)內(nèi)容:
(圖片地址, 起始x, ?起始y, 截取寬度, 截取長(zhǎng)度, 圖片放置位置x, 圖片放置位置y, 圖片放置寬尤溜,圖片放置高)
**/
完結(jié)
ps:
調(diào)用wx.switchTab時(shí)候,發(fā)覺沒有調(diào)用對(duì)應(yīng)tab界面的onLoad: function () /?onShow: function ()汗唱,需要自己手動(dòng)調(diào)用宫莱,調(diào)用方法如下:
? ? ? wx.switchTab({
? ? ? ? ? ? ? url: '../news/news',
? ? ? ? ? ? ? success: function (e) {
? ? ? ? ? ? ? ? var page = getCurrentPages().pop();
? ? ? ? ? ? ? ? if (page == undefined || page == null) return;
? ? ? ? ? ? ? ? page.onLoad(); // ?page.onShow();
? ? ? ? ? ? ? }
? ? ? ? ?});
真的完結(jié)了,開心??......??????????