收藏
回答

PC端canvas用canvasToTempFilePath生成图片,怎么做才能显示正确?

<canvas type="2d" id='posterCanvas' />

正常显示:

windos显示:

mac显示:

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

3 个回答

  • Demons
    Demons
    06-05

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    06-05
    有用
    回复 2
    • X.
      X.
      06-06
      当前无法提供,能否只提供对应小程序,小程序:凤凰植保节;页面:tabbar人脉圈->任意名片点击->人脉海报按钮->弹窗,下载海报按钮
      06-06
      回复
    • X.
      X.
      06-06
      不确定是canvas绘制上出的问题,还是canvasToTempFilePath的问题
      06-06
      回复
  • salex
    salex
    10-28

    如果canvas组件,设置了style.width、height, 需要保持和Canvas实例一样的值;导出尺寸要以Canvas实例尺寸除以桌面端pixelRatio重新计算

    const dpr = wx.getSystemInfoSync().pixelRatio; 

    wx.canvasToTempFilePath({width: canvas.width / dpr, height: canvas.height / dpr})

    > 问题出在canvas元素和实例大小上,MAC和PC还不一样,元素style和实例width/height设置成一样的,canvasToTempFilePath导出大小按我上面的来

    10-28
    有用
    回复
  • 苏小黑
    苏小黑
    09-11

    canvasToTempFilePath 套个setTimeout 最好在画的过程中不要改变canvas的width/height


    09-11
    有用
    回复
登录 后发表内容