收藏
回答

toTempFilePathSync 不同设备上截取不一样

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小游戏 需求 canvas.toTempFilePathSync 客户端 iOS 6.7.1 2.2.1

用的是

wx.getSystemInfoSync()

获取屏幕的宽高,以此来对画面进行裁剪。

但是,在不同手机上的效果不一样,具体看图片。



- 这个API的宽高到底是以什么为单位的?



var info = wx.getSystemInfoSync();

var w = info.screenWidth;

var h = info.screenHeight * 0.5;

canvas.toTempFilePath({

x: 10,

y: 0,

width: w,

height: h,

destWidth: 400,

destHeight: 300,

success: (res) => {

wx.shareAppMessage({

title:"瞧我做了啥,你也来试试!",

imageUrl: res.tempFilePath

})

}

})


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

2 个回答

  • 豪
    2018-07-27

    破案了。

    wx.getSystemInfoSync()

    获取到的pixelRatio值有问题。

    跟我用引擎的API获取倒的值不一样。

    我用的是的cocos,

    cc.view.getDevicePixelRatio


    2018-07-27
    有用
    回复
  • 是小白啊
    是小白啊
    2018-07-26

    你好,单位是px

    2018-07-26
    有用
    回复 2
    • 豪
      2018-07-26

      你好,请问我这个问题有什么解决方案吗?

      2018-07-26
      回复
    • Vincent 时刻互娱
      Vincent 时刻互娱
      2018-07-26

      跟dpr有关系,你要乘以一个canvas的缩放系数,比如窗口宽可能是375,canvas的宽是750,那就将参数都乘以2,以此类推。

      2018-07-26
      回复
登录 后发表内容