canvas怎么可以使图片全部显示出来,跪求方法

发布于 7 年前作者 maoyong3769 次浏览最后编辑 7 年前来自 ask

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

})

WXOPEN Club 内容图片

二维码下面还有一张图片,加载太快了就到下面去了,怎么把它弄上来

10 回复
qiangyao
qiangyao1 楼6 年前
WXOPEN Club 内容图片 WXOPEN Club 内容图片

还是没出来

izou
izou2 楼6 年前

感谢,我先试试去

luojie
luojie3 楼6 年前

统一用 getImageInfo 得到临时文件路径,控制异步顺序,

guiying15
guiying154 楼6 年前

现在顺序就是拿张图片最后绘制,但是还是让盖住了,前两张加载的慢。

chao99
chao995 楼6 年前

@天黑有星 官方回复我了,应该是安卓微信的bug

我分享下我的代码绘制用头像在图片上

WXOPEN Club 内容图片

是用户头像在上面绘制的文字上

如果把284和285行对调下文字就在上面,我给你改的效果图是这样

WXOPEN Club 内容图片

图片是否完整,需要看wxml里的宽高和你绘制图片的参数,总之后画在上层

xiulan72
xiulan726 楼6 年前

@David  你的问题没遇到过诶,地址第二次可以打印出来吗。

@亨利   我是先统一获得路径的,然后再统一画,两个操作分开的,你可以试试。

wei38
wei387 楼6 年前
getImageInfo(url) {
  return new Promise(resove => {
    wx.getImageInfo({
      src: url,
      success: res => {
        resove(res.path);
      },
      fail() {
        throw Error(`获取图片信息失败 ${url}`);
      }
    })
  })
},

@亨利  promise 封装下微信的 api

lishi
lishi8 楼6 年前

@天黑有星  文件临时路径,作为图片预览的http链接,安卓手机二次预览就会加载不出来?开发工具都正常,你们有遇到吗?

chao09
chao099 楼6 年前

@天黑有星  还是不行,可以看看您的代码吗

xia75
xia7510 楼5 年前

要图片在二维码上面吗,后绘制的会覆盖,放后面呗