收藏
回答

Canvas 2D 模拟器和真机渲染效果不一致?

在index.wxml中,绑定了画布的宽高

在Page的onLoad中,设置了画布的宽高


在Page的onReady中,根据官方文档示例,获取画布对象和上下文,开始绘制

模拟器中显示异常(翻车现场)如下:


真机预览中显示正常:如下:


看了官方文档,Tips有一句话:

tip: Canvas 2D(新接口)需要显式设置画布宽高 (默认为 300x150)


试了很多调整的方法,实在搞不懂,求解!


回答关注问题邀请回答
收藏

1 个回答

  • 是小白啊
    是小白啊
    2020-02-26

    真机的是预期表现?

    2020-02-26
    有用
    回复 7
    • 冰鸡零
      冰鸡零
      2020-02-26
      是的。
      真机在iOS、Android上面都是预期的表现。
      好像是模拟器处理Canvas2D有bug?
      2020-02-26
      回复
    • 冰鸡零
      冰鸡零
      2020-02-26
      不过iOS和Android也有一些像素级的差异,但至少没有变形。
      2020-02-26
      回复
    • 冰鸡零
      冰鸡零
      2020-02-26
      在控制台打印了一个canvas对象,发现


      在iOS真机上,dpr=3,
      canvas的“_width:1140”和“_height:219”


      在iOS真机上,dpr=2.75,
      canvas的“_width:1140”和“_height:204”


      但是在模拟器中,打印出来的,
      canvas的“_width:300”和“_height:159”,都是默认值。


      这里应该是模拟器的bug了。




      搞了好久,快被自己蠢哭了,搞了两天,难道是为官方捉虫打工了?!
      2020-02-26
      回复
    • 是小白啊
      是小白啊
      2020-02-27回复冰鸡零
      麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)这边看下
      2020-02-27
      回复
    • 冰鸡零
      冰鸡零
      2020-02-27回复是小白啊
      https://developers.weixin.qq.com/s/elLoKrmm7gfE
      2020-02-27
      回复
    查看更多(2)
登录 后发表内容
问题标签