Canvas .toDataURL()返回部分损坏的图像

时间:2017-08-01 09:43:46

标签: javascript android html5 canvas

我们有一个Web应用程序(非常间歇性地)返回部分损坏的PNG图像数据URL。图像有一个大的黑色部分,覆盖图像的部分,但不是全部。这些图像是客户签名。
例如:

enter image description here

我们正在使用this中的签名板组件。使用getSignatureImage()例程返回图像URL。

我从访问日志中看到的唯一一件事似乎是显示受影响的请求来自"三星Galaxy Tab"设备,但使用Chrome 59.然而,来自相同设备的其他请求也可以正常工作。

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:1)

我认为这不是内存问题。当图像消耗太多内存时,图像将仅为黑色(空像素 rgb(0,0,0))。 尝试从canvas获取blob - canvas.toBlob(function(blob){})。 可能你的图像没有加载或绘制。在获取图像数据(base64或blob)之前尝试将 window.setTimeout 放在某处

答案 1 :(得分:1)

我们现在已确认该问题与设备有关。

受影响的最终用户已从旧Samsung Galaxy Tab 4设备更改为Tab S2设备。问题不再发生。

旧设备似乎是字符串长度限制。

感谢您的帮助!