5***@qq.com
5***@qq.com
  • 发布:2020-08-27 16:12
  • 更新:2021-01-21 09:27
  • 阅读:1096

关于安卓低版本canvas绘制线条的时候发生偏移的问题

分类:uni-app

最近有个需求,要一个手写签名的功能。 第一时间想到了canvas。 一开始没什么问题, 最近发现在低版本安卓(安卓5.0)版本以下,会出现绘制的线条 会出现在 左下角 感觉就像 画板只有左下角那一小块? 高版本安卓 小程序 都没问题。 在插件市场找的例子 基本也是通过
content.moveTo(x1, y1);
content.lineTo(x2, y2);
content.stroke();
content.draw(true);
来绘制的 都出现了这个问题。 求助带佬们 这个是兼容性问题吗? 有没有可解决的办法?

2020-08-27 16:12 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

如果是App到问题,我们这边排查,如果是小程序才有,可以到小程序社区问一下,可能是其安卓客户端实现上存在问题

  • j***@126.com

    同样的问题,,大佬给安排解决下哈

    2020-08-27 22:49

  • 5***@qq.com (作者)

    是app遇到的问题 目前使用的 vivo Y51(安卓版本5.0.2) 与 华为 H60-L01 (安卓版本4.4.2)都有存在该问题。 补充一下 发生偏移时, 画出的线条也变细了

    2020-08-28 14:26

  • DCloud_UNI_GSQ

    回复 5***@qq.com: 收到

    2020-09-16 18:28

DCloud_UNI_GSQ

DCloud_UNI_GSQ

bug 确认,已加分,后续修复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

HBuilderX alpha 2.9.0+ 已修复

k***@sina.com

k***@sina.com - unclex

应该是canvas被缩放了。webview中canvas的size如果是在<canvas>标签中定义像素尺寸或者在css中定义像素尺寸,就是正常的,如果在CSS中用百分比尺寸,那么就是将原来默认尺寸的canvas缩放到百分比大小。

举个栗子,父节点是1000x1000的,canvas的width,height是50%,那么canvas显示的尺寸是500x500,而canvas得默认尺寸是300x200,那么里面的坐标就是300x200的,不是500x500,所以你以为画在中心的内容显示到右下角去了。

至于怎么解决,我没想好,就只是做demo时发现的,在uni-app中已经没有问题了,自己做h5页面才会有。

刚好看到这个问题就回复一下,如果有遇到的就少踩个坑了。

该问题目前已经被锁定, 无法添加新回复