收藏
回答

wx.canvasToTempFilePath生成图片第一次为全透明的问题

基础库: 1.5.3

iOS

第一次会生成一张透明的图片,后面变正常。

望解答,谢谢~

回答关注问题邀请回答
收藏

9 个回答

  • 爪爪
    爪爪
    2018-01-19

    const ctx = wx.createCanvasContext('myCanvas')

    ctx.drawImage(_this.data.imageSrc)

    ctx.draw();

    setTimeout(function () {

    _this.drawAfter()

    }, 500);

    drawAfter: function () {

    var _this = this

    var canvasW = _this.data.cutW / _this.data.cropperW * _this.data.imageW / pixelRatio

    var canvasH = _this.data.cutH / _this.data.cropperH * _this.data.imageH / pixelRatio

    var canvasL = _this.data.cutL / _this.data.cropperW * _this.data.imageW / pixelRatio

    var canvasT = _this.data.cutT / _this.data.cropperH * _this.data.imageH / pixelRatio

    wx.canvasToTempFilePath({

    x: canvasL,

    y: canvasT,

    width: canvasW,

    height: canvasH,

    destWidth: canvasW,

    destHeight: canvasH,

    canvasId: 'myCanvas',

    success: function (res) {

    wx.hideLoading()

    // 成功获得地址的地方

    console.log('生成图片成功:' + res.tempFilePath)

    _this.uploadImg(res.tempFilePath);

    }

    })

    },


    2018-01-19
    有用 1
    回复 1
    • Ablikim
      Ablikim
      2020-03-10
      canvasToTempFilePath 确实需要延时执行
      2020-03-10
      回复
  • colin
    colin
    2018-01-24

    在组件中使用

    wx.canvasToTempFilePath()

    怎么延迟好像都没有效果?

    2018-01-24
    有用
    回复
  • 当年明月
    当年明月
    2018-01-19

    真的可以,非常感谢!

    2018-01-19
    有用
    回复
  • 当年明月
    当年明月
    2018-01-19

    谢谢。

    2018-01-19
    有用
    回复
  • 当年明月
    当年明月
    2018-01-19

    能具体一点吗?

    2018-01-19
    有用
    回复
  • 爪爪
    爪爪
    2018-01-19

    添加延迟解决

    2018-01-19
    有用
    回复
  • 当年明月
    当年明月
    2018-01-17

    同求

    2018-01-17
    有用
    回复
  • 爪爪
    爪爪
    2017-12-27

    我这也是同样的问题

    2017-12-27
    有用
    回复
  • 爪爪
    爪爪
    2017-12-27

    怎么解决的


    2017-12-27
    有用
    回复
登录 后发表内容