微信小程序canvas绘制图片的注意事项---不能是网络图片

本文介绍了一个关于在真实设备上使用canvas绘制网络图片遇到的问题及解决方案。作者发现真机不支持直接绘制网络图片,导致在开发者工具中正常显示的图片,在真机上无法显示。通过下载图片到本地再进行绘制的方法成功解决了这一问题。

上周五做了个需求,用canvas画图并保存到本地,没在手机上测试,今天看的时候突然发现:

drawImage(imageResource, dx, dy, dWidth, dHeight)
其中imageResource真机不支持网络图片的绘制

所以就是明明在开发者工具上都是好的,但是在真机上测试的时候图片是绘制不出来的,想保存的地方也保存为空。
那么既然只能绘制本地的图片,而我们使用的图片又大都是接口返回的图片链接,所以首要想到的就是把图片保存到本地,然后再进行绘制即可。

    var that = this;
    var context = wx.createCanvasContext('firstCanvas');
    applyApi1.postJson('xxxxx/xxxxxxxxxxxxxx',{},res => {
      console.log("res",res)
      wx.downloadFile({
        url: res.imgUrl,
        success: function (res) {
          console.log(res);
          var imgUrl= res.tempFilePath;
          context.drawImage(imgUrl, 40, 130, 220, 220)
          context.draw()
        }, fail: function (fres) {
        
        }
      })
    })

我这边已经解决完了,就不复现回去上对比图了,反正就是网络图片在真机上展示不出来是一片空白的,开发者工具是好的,这样解决就会解决这个问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值