var pw = wx.getSystemInfoSync().windowWidth;
var ph = wx.getSystemInfoSync().windowHeight;
var headImage = app.globalData.userInfo.avatarUrl;
var content = wx.createContext("qrcodeCanvas");
content.drawImage("../../images/qrcode_banner.jpg", 0, 0, pw, pw / 104 * 59);
content.drawImage("../../images/ewm.png", pw / 2 - pw / 2 / 2, ph / 16 * 12 - ph / 16 * 4, pw / 2, pw / 2);//二维码图片
content.restore()
content.drawImage(headImage, pw / 2 - pw / 8 / 2, ph / 16 * 12 - ph / 16 * 4 + pw / 2 / 2 - pw / 8 / 2, pw / 8, pw / 8);//二维码中间的图片
content.setStrokeStyle('black');
content.setFontSize(16);
content.setTextAlign('center')
content.fillText("长按图片识别二维码", pw / 2, ph / 16 * 12 - ph / 16 * 4 + pw / 2 + 25)
wx.drawCanvas({
canvasId: "qrcodeCanvas",
actions: content.getActions(),
reserve: true
})
二维码下面还有一张图片,加载太快了就到下面去了,怎么把它弄上来
@天黑有星 官方回复我了,应该是安卓微信的bug
我分享下我的代码绘制用头像在图片上
是用户头像在上面绘制的文字上
如果把284和285行对调下文字就在上面,我给你改的效果图是这样
图片是否完整,需要看wxml里的宽高和你绘制图片的参数,总之后画在上层
getImageInfo(url) {
return
new
Promise(resove => {
wx.getImageInfo({
src: url,
success: res => {
resove(res.path);
},
fail() {
throw
Error(`获取图片信息失败 ${url}`);
}
})
})
},
@亨利 promise 封装下微信的 api
@天黑有星 还是不行,可以看看您的代码吗
@David 你的问题没遇到过诶,地址第二次可以打印出来吗。
@亨利 我是先统一获得路径的,然后再统一画,两个操作分开的,你可以试试。
还是没出来
@天黑有星 文件临时路径,作为图片预览的http链接,安卓手机二次预览就会加载不出来?开发工具都正常,你们有遇到吗?
感谢,我先试试去
统一用 getImageInfo 得到临时文件路径,控制异步顺序,
现在顺序就是拿张图片最后绘制,但是还是让盖住了,前两张加载的慢。
要图片在二维码上面吗,后绘制的会覆盖,放后面呗