收藏
回答

分享图片显示不全,宽高均不是100%

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 客户端 7.0.3 2.6.1

此问题是偶现,没有必现的方式,无代码片段可参考


分享小程序卡片,图片是canvas绘制完成后,用wx.canvasToTempFilePath导出的,导出图片的尺寸为500*400(已设置destWidth、destHeight)

分享出去后,有较低几率会出现图片显示不全,宽高均未100%显示,只显示左上角部分


- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


最后一次编辑于  03-01
回答关注问题邀请回答
收藏

10 个回答

  • 安心
    安心
    03-01

    为何canvas组件能有这么多坑,安卓机偶现绘制图片错位,目前绘制分享图的场景日益增多,能不能走点心啊

    03-01
    赞同 3
    回复
  • 喻
    03-01

    @官方

    03-01
    赞同 2
    回复
  • 时光。
    时光。
    03-01

    顶!

    03-01
    赞同 2
    回复
  • 一一
    一一
    08-13

    请问这个问题你们解决了吗?


    08-13
    赞同 1
    回复
  • 夜子
    夜子
    08-02

    官方呢,我也遇到这种问题了,什么时候能解决

    08-02
    赞同 1
    回复
  • 衬衫
    衬衫
    03-01

    +1

    03-01
    赞同 1
    回复
  • 云月之音
    云月之音
    09-24

    微信小程序canvas生成的临时图片当成分享图片显示不全怎么解决啊


    09-24
    赞同
    回复 1
    • 衬衫
      衬衫
      09-30
      把canvas宽高设置成固定值
      09-30
      回复
  • 能破壳~傻蛋
    能破壳~傻蛋
    03-26

    最后你们怎么解决

    03-26
    赞同
    回复 1
    • 码农界的贫农
      码农界的贫农
      08-02
      试试把canvas宽高设置成固定值
      08-02
      回复
  • 土豆豆
    土豆豆
    03-04

    召唤官方!!!!

    03-04
    赞同
    回复
  • 卢霄霄
    卢霄霄
    03-01

    画图时候,canvas的宽高是否setData修改过

    03-01
    赞同
    回复 6
    • 码农界的贫农
      码农界的贫农
      03-01

      setData后,100ms后才开始绘制

      03-01
      回复
    • 卢霄霄
      卢霄霄
      03-01回复码农界的贫农

      setData({

          width:500px;

          height: 400px;

      },()=>{

          setTimeout(()=>{

              画图

          },100)

      })

      03-01
      回复
    • 码农界的贫农
      码农界的贫农
      03-01回复卢霄霄

      实际开始操作canvas比这还要晚,在setData后还要下载网络图片到本地,所有图片均下载本地后,才开始用本地临时文件绘图

      03-01
      回复
    • 卢霄霄
      卢霄霄
      03-01回复码农界的贫农

      最后存下来的图 都是正常的吗

      03-01
      回复
    • 码农界的贫农
      码农界的贫农
      03-01回复卢霄霄

      正常,在分享最后return数据前,使用wx.getImageInfo获取图片的信息,宽高为500*400。canvas组件宽高,原图宽高,绘制图片宽高,均为500*400,从0, 0开始绘制。如果是绘制过程中canvas宽高变化导致的问题,从导出的图为500*400来看,结果应该是左上角有图,其他地方是空白,仍然是500*400,而不是图片被剪切

      03-01
      回复
    查看更多(1)