我试图在浏览器窗口中显示一些原始图像文件格式。解码后,我最终得到一个原始像素数组。现在我想将其转换为Image元素,并将image元素的src设置为从原始像素数据创建的Blob。但是,浏览器只支持有限的图像格式,我不知道如何实现这个目标?
有没有办法将原始像素数据转换为可以使用普通DOM功能打开的图像网址?速度在这里很重要,因为解码原始格式已经很慢了。
谢谢。
编辑:由于速度很重要,因此任何涉及将像素渲染到画布然后获取画布的数据URL的方法都不可行。
答案 0 :(得分:1)
当你输入一个Uint8ClampedArray画布到画布并获取数据网页时,速度非常快,比任何涉及转换为真实二进制blob数据并获得blob网址的解决方案更快。
如果甚至几毫秒对你很重要,你可以使用webgl并将原始数据放入纹理并在四边形上渲染它。这应该更快,因为您不需要让浏览器解析base64 n。
如果表现如此重要,你最好还是写一个NaCl插件或其他东西。 Javascript不会与二进制数据混杂在一起。