canvas.toDataURL() 在不同浏览器上创建不同的base64编码字符串

2024-03-16

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

I came 浏览这个 github 仓库 https://github.com/mudcube/PNG-Storage看起来很有希望,并且实施它,在这里 https://s3-us-west-2.amazonaws.com/elasticbeanstalk-us-west-2-415422046391/imgConverter/demo.html.

问题是,由于种种原因,不同浏览器的输出会有所不同 https://stackoverflow.com/questions/26615580/is-canvas-getimagedata-method-machine-browser-dependent(可能还有操作系统)。亲自尝试一下。在不同的浏览器中对各种消息进行编码,您将看到不同的 Base64 编码结果。

对此有什么好的解决办法吗?我可以实现第三方画布库吗?也许使用FileReader.readAsDataURL() https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL?


好吧,最后我确实不得不使用第三方图像处理库,并且不能依赖浏览器的画布功能。这是我的解决方案 https://github.com/adam-hanna/pngCipher :)

我把它建立在这个图像处理库 https://github.com/lukeapage/pngjs.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

canvas.toDataURL() 在不同浏览器上创建不同的base64编码字符串 的相关文章