首页 > 解决方案 > Uint8ClampedArray 到 Uint8Array 到 base64

问题描述

是否有类似的方法将 Uint8ClampedArray 转换为常规数组。

var typedArray = new Uint8ClampedArray([1, 2, 3, 4]);
var normalArray = Array.prototype.slice.call(typedArray);

但是然后从 Uint8ClampedArray 转换为 Uint8Array?

我知道值的分配方式存在差异,但对我来说相当混乱,因为 Uint8ClampedArray 涉及一个图像,该图像被绘制到画布上,并为其制作了可下载的 blob 链接。

我的数据如下所示: 在此处输入图像描述

然后我尝试将其转换为base64: https ://gist.github.com/enepomnyaschih/72c423f727d395eeaa09697058238727

编辑:已经尝试将其放入 Uint8Array 的构造函数中,但在转换为 base64 时它似乎无效。

new Uint8Array(imageData.data)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/Uint8Array#Syntax

标签: javascriptarraysmultidimensional-array

解决方案


我最终使用了 canvas.toDataURL 而不是自己尝试转换它。


推荐阅读