【问题标题】:canvas.toDataURL() creates different base64 encoded strings on different browserscanvas.toDataURL() 在不同的浏览器上创建不同的base64编码字符串
【发布时间】:2016-08-05 04:58:11
【问题描述】:

我有一个应用程序,用户需要在其中相互传输数据(不能通过服务器)。我认为从该数据中渲染图像并让他们发送该图像可能会很好(由于各种原因,QR 码不起作用)。

我来了accross this github repo,看起来很有希望,还有implemented it, here

由于各种原因,问题在于the output will be different for different browsers(可能还有操作系统)。自己试试吧。在不同的浏览器中对各种消息进行编码,你会看到不同的base64编码结果。

有什么好的解决办法吗?我可以实现第三方画布库吗?也许使用FileReader.readAsDataURL()

【问题讨论】:

  • Related 但是由于您特别要求使用画布,所以不,没有解决方案。即使是 FileReader 也会使用画布中的解码/重新编码数据,正如您所指向的答案中所说的,这与浏览器甚至机器相关。因此,如果您必须通过 canvas API,您将遇到不同的输出。
  • 再想一想,一个可能的解决方案是自己进行编码,直接从 js 中,不使用画布。
  • 是的,我认为自己编码可能会很好,但希望找到一个我可以使用的库
  • Processing.js 看起来很有希望...
  • PNGlib.js也是如此

标签: html canvas


【解决方案1】:

好吧,最后,我确实不得不使用 3rd 方图像处理库,并且不能依赖浏览器的画布功能。 Here's my solution :)

我在 this image processing library 之上构建它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    • 2011-04-11
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    相关资源
    最近更新 更多