小程序canvas使用网络图片真机不显示解决方案----可直接使用案例测试

举报
原来是咔咔 发表于 2022/03/27 01:13:15 2022/03/27
【摘要】 图片都是线上的,可以直接放到onLoad里边自动检测 1.注意点:  在绘制网络图片时必需先将其保存到本地然后在绘制。当我们在加载一个带有图片的页面时,图片都会被暂存到本地,由此我们可以通过wx.gerImageInfo接口访问本地的暂存路径来调用drawImage方法绘制图片。如下:(注意网络图片的地址一定要在合...

图片都是线上的,可以直接放到onLoad里边自动检测

1.注意点:  在绘制网络图片时必需先将其保存到本地然后在绘制。当我们在加载一个带有图片的页面时,图片都会被暂存到本地,由此我们可以通过wx.gerImageInfo接口访问本地的暂存路径来调用drawImage方法绘制图片。如下:(注意网络图片的地址一定要在合法域名内


  
  1. /*
  2. * author:咔咔
  3. * address:陕西西安
  4. * wechat:fangkangfk
  5. * */
  6. // 小程序二维码
  7. var path1 = 'https://www.weiuid.com/attachs/uploads/20180913/6386.png';
  8. const ctx = wx.createCanvasContext('myCanvas')
  9. // // 封面图
  10. var path = 'https://www.weiuid.com/attachs/uploads/20180912/d70711527c3ca66054f9989af7975d87.jpg';
  11. wx.getImageInfo({
  12. src: path,//服务器返回的图片地址
  13. success: function (res) {
  14. //res.path是网络图片的本地地址
  15. let Path = res.path;
  16. ctx.drawImage(Path, 0, 0, 400, 200)
  17. },
  18. fail: function (res) {
  19. //失败回调
  20. }
  21. });
  22. var that = this;
  23. //获取网络图片本地路径
  24. wx.getImageInfo({
  25. src: path1,//服务器返回的图片地址
  26. success: function (res) {
  27. //res.path是网络图片的本地地址
  28. let Path = res.path;
  29. ctx.drawImage(Path, 140, 300, 100, 100)
  30. ctx.draw(false, function () {
  31. wx.canvasToTempFilePath({
  32. canvasId: 'myCanvas',
  33. success: function (res) {
  34. console.log(res.tempFilePath)
  35. wx.previewImage({
  36. urls: [res.tempFilePath] // 需要预览的图片http链接列表
  37. })
  38. }
  39. })
  40. });
  41. },
  42. fail: function (res) {
  43. //失败回调
  44. }
  45. });

文章来源: blog.csdn.net,作者:咔咔-,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/fangkang7/article/details/82711830

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。