小程序drawImage剪切图片

1、var imgsW = [];

       var imgsH = [];

        Page({

                ..........

            })

2、需要下载图片的地方调用,获取用户宽高,并赋值,数组添加使用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);

括号内对应参数内容:

(图片地址, 起始x,  起始y, 截取宽度, 截取长度, 图片放置位置x, 图片放置位置y, 图片放置宽,图片放置高)

**/

完结

ps:

调用wx.switchTab时候,发觉没有调用对应tab界面的onLoad: function () / onShow: function (),需要自己手动调用,调用方法如下:

      wx.switchTab({

              url: '../news/news',

              success: function (e) {

                var page = getCurrentPages().pop();

                if (page == undefined || page == null) return;

                page.onLoad(); //  page.onShow();

              }

         });


真的完结了,开心😄......🎉🎉🎉🎉🎉

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,060评论 0 2
  • 北京2018年4月1日上午,NBA常规赛勇士客战国王的比赛中,发生了令人痛心不已的一幕。比赛进行到第三节还有41...
    Curry_宇阅读 1,257评论 1 1
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,772评论 1 45
  • NO.1 东东呢?上哪儿去了? 记得多年前,面对一年级的孩子,让他们用“情”组词,不得不佩服现在的孩子们,虽然只有...
    阳光Sunflower阅读 352评论 0 1
  • 不得不说自己有点敏感每天总有一段不合群的时间此刻 它如期到来受蛊的思绪翩跹 我曾试着改变自己就在最近几年总感觉生活...
    墨成阅读 566评论 12 5