createShare: function () {

let that = this;

let unit = that.data.screenWidth / 375;

let context = wx.createCanvasContext('canvas', this);

that.setData({

'canvasHidden': false

});

wx.downloadFile({

url: app.globalData.imageUrl + '/inviteFriend.png',

success: function (res) {

console.log(res);

that.setData({

'inviteFriend': res.tempFilePath

})

console.log(parseInt(that.data.screenWidth));

if (parseInt(that.data.screenWidth) < 375 ){

context.drawImage(that.data.inviteFriend, 0, 0, 320 * parseInt(unit), 530 * parseInt(unit));//背景  

}else{

context.drawImage(that.data.inviteFriend, 0, 0, 375 * parseInt(unit), 620 * parseInt(unit));//背景

}

context.setFontSize(36 * parseInt(unit));

context.setFillStyle('#02C07B');

context.fillText(that.data.inviteCode + '', 124 * parseInt(unit), 195 * parseInt(unit));

context.setFontSize(14 * parseInt(unit));

context.setFillStyle('rgb(102,102,102)');

context.fillText('我是' + app.globalData.userInfo.nickName, 50 * parseInt(unit), 251 * parseInt(unit));

context.fillText('邀请您', 50 * parseInt(unit), 271 * parseInt(unit));

context.fillText('我的邀请次数有限,赶快加入哦~', 50 * parseInt(unit), 291 * parseInt(unit));

//保存图片

context.draw(false,function () {

wx.canvasToTempFilePath({

canvasId: 'canvas',

success : function (res) {

if (!res.tempFilePath) {

wx.showToast({

title: '图片绘制中',

icon:'none'

})

}

console.log(that.data.shareImgPath)

wx.saveImageToPhotosAlbum({

filePath: res.tempFilePath,

success: (res) => {

console.log(res)

wx.hideLoading();

that.setData({

canvasHidden: true

})

wx.showToast({

title: '图片保存成功',

icon: 'success'

});

},

fail: (err) => {

console.log(err)

wx.hideLoading();

that.setData({

canvasHidden: true

})

wx.showToast({

title: '图片保存失败',

icon: 'none'

})

}

})

},

fail : function () {

wx.showToast({

title: '图片绘制失败',

icon: 'none'

})

}

}, this)

})

}

})





// console.log(that.data.imageUrl + '/inviteFriend.svg');

}





请各位大神看看是不是我的代码出问题了。

再说一下 我在其他手机上调试都是可以保存的(正常运行)。


下面是保存在iphone5上的空图片。长宽、大小都有,就是显示不出来。

展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Priya

    15人对此回答表示赞同

    绘制图片应该在wx.downloadFile成功的回调里进行,因为是异步下载的,所有要确保图片下载成功后才执行绘制

    展开
    15
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • 幼稚鬼 2019-02-22 17:21

      谢谢大佬。

      回复
  • 邱宸

    6人对此回答表示赞同

    谢谢大佬们。我的问题已经解决了。

    展开
    6
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Sarah

    4人对此回答表示赞同

    wechatide://minicode/jyp9NDm57J1g

    展开
    4
    2回复
    发布于 6年前

    评论(2)

    收起评论

    • RossiWu 2019-02-24 08:50

      这个是你的代码问题,请自己检查下,你提供的代码片段本身就有问题的,不管在Android和微信小程序IOS保存的图片都是黑色的,

      回复
    • 闲云 2019-02-26 17:18

      如果收到了反馈,请尽快回复。感谢!

      回复
  • Leonardo

    1人对此回答表示赞同

    主看看这个

    展开
    1
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • Greyson 2019-02-20 15:39

      膜拜大佬。

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部