html52.com
我爱小程序-开发者交流社区

canvasToTempFilePath出错

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug wx.canvasToTempFilePath 客户端 Android 6.6.6 2.0.2

环境:安卓真机


模拟器一切正常,真机无法正常截图,width和height不起作用,但是在不设置destWidth和destHeight的情况下,实际出来的图片在左上角 有想要的图片,但是实际尺寸远大于设置的值。如果设置了dest的两个。则整个图片被缩小,还是左上角一块是想要的图,外侧大范围黑。


这个情况在选择真机图片拍摄,并且进行区域绘制后出现,执行过drawImage(file, ddx,ddy,ddw,ddh,0,0,1000,1000) 这样的操作。

如果只是执行过5参数或者3参数的drawImage则不出现这个情况。希望排除。

网友回复

无序柠檬:

4月份出现的问题,9月份了还没好,ε=(´ο`*)))唉

Rui.L:

现在的解决方式,ios直接设置目标宽度和高度,则正常。

android,得到图片以后,再次把图片写入,用5参数版本的drawImage。

之后再canvasToTempFilePath,就正常了。

算是对两个系统下的bug进行区分管理了。

浅海₅:

与楼主遇到问题一样,各种乱套

Rui.L:

var targetW = 500;

   var targetH = 500 * ddh / ddw

   this.setData({

     owidth: targetW,

     oheight: targetH,

     oshow: true

   }, function () {

     ctx3.drawImage(file, ddx, ddy, ddw, ddh, 0, 0, targetW, targetH);

     ctx3.draw(false, function () {

            

wx.canvasToTempFilePath({

           canvasId: 'imageOri',

           x: 0,

           y: 0,

           width: targetW,

           height: targetH,

           success: function (res) {

这时候用wx.getImageInfo取到save出来的图片,会是错误的。安卓上,大小错误,图像在正确大小的区域内。iOS上,大小错误,图像在错误的大小上撑满显示。


总之和模拟器都不同。

娇华:

麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付