2672关注8218浏览
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上的空图片。长宽、大小都有,就是显示不出来。
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
Priya
15人对此回答表示赞同
绘制图片应该在wx.downloadFile成功的回调里进行,因为是异步下载的,所有要确保图片下载成功后才执行绘制
展开151回复分享发布于 6年前评论(1)
收起评论
-
邱宸
6人对此回答表示赞同
谢谢大佬们。我的问题已经解决了。
展开60回复分享发布于 6年前评论(0)
收起评论
-
Sarah
4人对此回答表示赞同
wechatide://minicode/jyp9NDm57J1g
展开42回复分享发布于 6年前评论(2)
收起评论
-
RossiWu 2019-02-24 08:50
这个是你的代码问题,请自己检查下,你提供的代码片段本身就有问题的,不管在Android和微信小程序IOS保存的图片都是黑色的,
回复 -
闲云 2019-02-26 17:18
如果收到了反馈,请尽快回复。感谢!
回复
-
-
Leonardo
1人对此回答表示赞同
主看看这个
展开11回复分享发布于 6年前评论(1)
收起评论
-
Greyson 2019-02-20 15:39
膜拜大佬。
回复
-

谢谢大佬。