收藏
回答

canvas中使用canvasToTempFilePath导出图片尺寸与实际不符

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.canvasToTempFilePath 微信安卓客户端 7.0.5 2.8.0

使用下面方式导出图片时,设置图片的宽高为300*400,导出后使用getImageInfo获取图片尺寸信息,在真机上获取到的实际尺寸是在设置的基础乘了一个常量(小米8中是2.7左右)

wx.canvasToTempFilePath({
   x: 0,
   y: 0,
   width: 300,
   height: 400,
   canvasId: 'canvas',
   quality: 1,
   success: res => {
     wx.getImageInfo({
       src: res.tempFilePath,
       success: info => {
         console.log(info.width)
         console.log(info.height)
       }
     })
   }
 })

实际上console出来图的尺寸比设定的300*400要大,乘了一个常量,这个是什么原因?为什么会有一个常量?作用是什么?常量的定义是根据系统默认设置的还是手机分辨率不同设置的?

最后一次编辑于  07-31  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    07-31

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    07-31
    赞同
    回复 4
    • 跷跷板
      跷跷板
      08-04
      代码片段:https://developers.weixin.qq.com/s/8aROzmmu7ia5
      08-04
      回复
    • 跷跷板
      跷跷板
      08-04
      机型:小米8;微信版本号:7.0.5,得到的结果乘了一个2.75的常量
      08-04
      回复
    • 社区技术运营专员-灵芝
      社区技术运营专员-灵芝
      08-09回复跷跷板

      wx.canvasToTempFilePath()需要在draw()回调中使用的哈


      08-09
      回复
    • 跷跷板
      跷跷板
      08-10回复社区技术运营专员-灵芝
      是在draw的回调中使用的呀
      08-10
      回复
  • 素朴网联
    素朴网联
    09-12

    问题解决了吗?是pixelRatio的问题吧?

    09-12
    赞同
    回复 1
    • 跷跷板
      跷跷板
      10-08
      嗯嗯,是这个问题
      10-08
      回复