如何将从canvas中选取的webp图像的Uint8ClampedArray转换为base64

时间:2014-12-30 14:50:07

标签: javascript canvas arraybuffer

我尝试使用getImageData方法转换从画布上的webp图片中选取的Uint8ClampedArray。

我已尝试过此主题中找到的方法:How can I create a canvas imageData array from an arrayBuffer representation of a JPG

我得到的输出只是这部分:

AAAAAA==

如何获取完整数据。以下是我尝试失败的方法:

function Uint8toBase64(idata) {
    this.idata = idata;

    var u = new Uint8ClampedArray(4);

    for (var i = 0; i < idata.length; i += 4) {
        idata[0] = u[i];
        idata[1] = u[i + 1];
        idata[2] = u[i + 2];
        idata[3] = u[i + 3];
    }

    var str = String.fromCharCode.apply(null, u);
    var b64 = btoa(str);

    console.log(b64);
}

提前致谢,

0 个答案:

没有答案